title: Subscriber never gets the entire queue
body: <p>we are working with PubSub to integrate several systems with each other. Some systems may push data to PubSub as JSON, while others can pull that data and use it. (Note: we have to pull from PubSub instead of push to the app due to other restrictions with the receiving application) Every pulling application gets it's own subscriber to each topic.</p>
  
  <p>I have noticed that the PubSub pull does not get all data currently in the queue if it is triggered too frequently. The problem originally occurred in a Java Spring App with the respective library, but the gcloud command in the cloud console exhibits the same behaviour, so I am just going to use that example. I removed the ack-ids and borders to make it fit this window. Note how I don't use the '--auto-ack' flag, so the queue should stay the same, no other system is pulling from that subscriber.</p>
  
  <p><strong>First pull (complete content):</strong>
  max_binnewies@cloudshell:~ $ gcloud pubsub subscriptions pull testSubscriber --limit=100</p>
  
  <pre><code>│    DATA   │    MESSAGE_ID   │ 
  │ 4 - FOUR  │ 189640873208084 │
  │ 5 - FIVE  │ 189636274179799 │ 
  │ 2 - TWO   │ 189638666587304 │ 
  │ 3 - THREE │ 189627470480903 │  
  │ 1 - ONE   │ 189639207684195 │
  </code></pre>
  
  <p><strong>Second pull (only one):</strong>
  max_binnewies@cloudshell:~ $ gcloud pubsub subscriptions pull testSubscriber --limit=100</p>
  
  <pre><code>│   DATA  │    MESSAGE_ID   │
  │ 1 - ONE │ 189639207684195 │
  </code></pre>
  
  <p><strong>Third pull (two different ones):</strong>
  max_binnewies@cloudshell:~ $ gcloud pubsub subscriptions pull testSubscriber --limit=100</p>
  
  <pre><code>│   DATA   │    MESSAGE_ID   │ 
  │ 4 - FOUR │ 189640873208084 │ 
  │ 5 - FIVE │ 189636274179799 │
  </code></pre>
  
  <p><strong>Fourth pull (first one again):</strong>
  max_binnewies@cloudshell:~ $ gcloud pubsub subscriptions pull testSubscriber --limit=100</p>
  
  <pre><code>│   DATA  │    MESSAGE_ID   │
  │ 1 - ONE │ 189639207684195 │
  </code></pre>
  
  <p>That behaviour is confusing to me. Is that normal PubSub behaviour or am I doing something wrong? The only thing I found is this link where it says that PubSub uses load balancing for the pull method:
  <a href="https://cloud.google.com/pubsub/docs/subscriber" rel="nofollow noreferrer">https://cloud.google.com/pubsub/docs/subscriber</a>
  So I think that the subscriber thinks multiple clients are subscribing to it and spreads out the data if calls come in too quickly. Is that correct? What exactly is happening here?
  If I wait a little while, I get more data again, but I never seem to be getting everything even if I wait five minutes... It is very confusing. 
  Can that cause a problem for the consuming application? How do I make sure all the data arrives at the receiving application even if it pulls very frequently? Is there a way to turn this off?</p>