@@ -194,14 +194,20 @@ public void testTransactionWithRead() {
194194 }
195195
196196 @ Test
197- public void testTransactionWithQuery () {
197+ public void testTransactionWithQuery () throws InterruptedException {
198198 Query <Entity > query = Query .entityQueryBuilder ()
199199 .kind (KIND2 )
200200 .filter (PropertyFilter .hasAncestor (KEY2 ))
201201 .namespace (NAMESPACE )
202202 .build ();
203203 Transaction transaction = DATASTORE .newTransaction ();
204204 QueryResults <Entity > results = transaction .run (query );
205+ while (Iterators .size (results ) < 1 ) {
206+ Thread .sleep (500 );
207+ results = DATASTORE .run (query );
208+ }
209+ results = DATASTORE .run (query );
210+ assertTrue (results .hasNext ());
205211 assertEquals (ENTITY2 , results .next ());
206212 assertFalse (results .hasNext ());
207213 transaction .add (ENTITY3 );
@@ -210,7 +216,14 @@ public void testTransactionWithQuery() {
210216
211217 transaction = DATASTORE .newTransaction ();
212218 results = transaction .run (query );
219+ while (Iterators .size (results ) < 1 ) {
220+ Thread .sleep (500 );
221+ results = DATASTORE .run (query );
222+ }
223+ results = DATASTORE .run (query );
224+ assertTrue (results .hasNext ());
213225 assertEquals (ENTITY2 , results .next ());
226+ assertFalse (results .hasNext ());
214227 transaction .delete (ENTITY3 .key ());
215228 // update entity2 during the transaction
216229 DATASTORE .put (Entity .builder (ENTITY2 ).clear ().build ());
@@ -312,8 +325,8 @@ public void testRunGqlQueryNoCasting() throws InterruptedException {
312325 .build ();
313326 QueryResults <Entity > results1 = DATASTORE .run (query1 );
314327 while (Iterators .size (results1 ) < 1 ) {
315- results1 = DATASTORE .run (query1 );
316328 Thread .sleep (500 );
329+ results1 = DATASTORE .run (query1 );
317330 }
318331 results1 = DATASTORE .run (query1 );
319332 assertTrue (results1 .hasNext ());
@@ -327,8 +340,8 @@ public void testRunGqlQueryNoCasting() throws InterruptedException {
327340 .build ();
328341 QueryResults <? extends Entity > results2 = DATASTORE .run (query2 );
329342 while (Iterators .size (results2 ) < 2 ) {
330- results2 = DATASTORE .run (query2 );
331343 Thread .sleep (500 );
344+ results2 = DATASTORE .run (query2 );
332345 }
333346 results2 = DATASTORE .run (query2 );
334347 assertTrue (results2 .hasNext ());
@@ -348,8 +361,8 @@ public void testRunGqlQueryNoCasting() throws InterruptedException {
348361 .build ();
349362 QueryResults <Key > keyOnlyResults = DATASTORE .run (keyOnlyQuery );
350363 while (Iterators .size (keyOnlyResults ) < 1 ) {
351- keyOnlyResults = DATASTORE .run (keyOnlyQuery );
352364 Thread .sleep (500 );
365+ keyOnlyResults = DATASTORE .run (keyOnlyQuery );
353366 }
354367 keyOnlyResults = DATASTORE .run (keyOnlyQuery );
355368 assertTrue (keyOnlyResults .hasNext ());
@@ -362,8 +375,8 @@ public void testRunGqlQueryNoCasting() throws InterruptedException {
362375 .build ();
363376 QueryResults <ProjectionEntity > keyProjectionResult = DATASTORE .run (keyProjectionQuery );
364377 while (Iterators .size (keyProjectionResult ) < 1 ) {
365- keyProjectionResult = DATASTORE .run (keyProjectionQuery );
366378 Thread .sleep (500 );
379+ keyProjectionResult = DATASTORE .run (keyProjectionQuery );
367380 }
368381 keyProjectionResult = DATASTORE .run (keyProjectionQuery );
369382 assertTrue (keyProjectionResult .hasNext ());
@@ -381,8 +394,8 @@ public void testRunGqlQueryWithCasting() throws InterruptedException {
381394 .build ();
382395 QueryResults <Entity > results1 = DATASTORE .run (query1 );
383396 while (Iterators .size (results1 ) < 1 ) {
384- results1 = DATASTORE .run (query1 );
385397 Thread .sleep (500 );
398+ results1 = DATASTORE .run (query1 );
386399 }
387400 results1 = DATASTORE .run (query1 );
388401 assertTrue (results1 .hasNext ());
@@ -394,8 +407,8 @@ public void testRunGqlQueryWithCasting() throws InterruptedException {
394407 .build ();
395408 QueryResults <?> results2 = DATASTORE .run (query2 );
396409 while (Iterators .size (results2 ) < 1 ) {
397- results2 = DATASTORE .run (query2 );
398410 Thread .sleep (500 );
411+ results2 = DATASTORE .run (query2 );
399412 }
400413 results2 = DATASTORE .run (query1 );
401414 assertSame (Entity .class , results2 .resultClass ());
@@ -412,8 +425,8 @@ public void testRunStructuredQuery() throws InterruptedException {
412425 Query .entityQueryBuilder ().kind (KIND1 ).orderBy (OrderBy .asc ("__key__" )).build ();
413426 QueryResults <Entity > results1 = DATASTORE .run (query );
414427 while (Iterators .size (results1 ) < 1 ) {
415- results1 = DATASTORE .run (query );
416428 Thread .sleep (500 );
429+ results1 = DATASTORE .run (query );
417430 }
418431 results1 = DATASTORE .run (query );
419432 assertTrue (results1 .hasNext ());
@@ -423,8 +436,8 @@ public void testRunStructuredQuery() throws InterruptedException {
423436 Query <Key > keyOnlyQuery = Query .keyQueryBuilder ().kind (KIND1 ).build ();
424437 QueryResults <Key > results2 = DATASTORE .run (keyOnlyQuery );
425438 while (Iterators .size (results2 ) < 1 ) {
426- results2 = DATASTORE .run (keyOnlyQuery );
427439 Thread .sleep (500 );
440+ results2 = DATASTORE .run (keyOnlyQuery );
428441 }
429442 results2 = DATASTORE .run (keyOnlyQuery );
430443 assertTrue (results2 .hasNext ());
@@ -436,8 +449,8 @@ public void testRunStructuredQuery() throws InterruptedException {
436449 .kind (KIND1 ).projection ("__key__" ).build ();
437450 QueryResults <ProjectionEntity > results3 = DATASTORE .run (keyOnlyProjectionQuery );
438451 while (Iterators .size (results3 ) < 1 ) {
439- results3 = DATASTORE .run (keyOnlyProjectionQuery );
440452 Thread .sleep (500 );
453+ results3 = DATASTORE .run (keyOnlyProjectionQuery );
441454 }
442455 results3 = DATASTORE .run (keyOnlyProjectionQuery );
443456 assertTrue (results3 .hasNext ());
@@ -457,8 +470,8 @@ public void testRunStructuredQuery() throws InterruptedException {
457470
458471 QueryResults <ProjectionEntity > results4 = DATASTORE .run (projectionQuery );
459472 while (Iterators .size (results4 ) < 1 ) {
460- results4 = DATASTORE .run (projectionQuery );
461473 Thread .sleep (500 );
474+ results4 = DATASTORE .run (projectionQuery );
462475 }
463476 results4 = DATASTORE .run (projectionQuery );
464477 assertTrue (results4 .hasNext ());
0 commit comments