@@ -7487,22 +7487,36 @@ void testQueryWithTimeout() throws InterruptedException {
74877487 }
74887488
74897489 // Stateful query returns Job
7490- // Test scenario 2 to ensure job is created if JobCreationMode is set, but for a small query
7491- // it still returns results.
7490+ // Test scenario 2 to ensure job is created if Query is long running.
7491+ // Explicitly disable cache to ensure it is long-running query;
7492+ config = QueryJobConfiguration .newBuilder (largeQuery ).setUseQueryCache (false ).build ();
7493+ long millis = System .currentTimeMillis ();
7494+ result = bigQuery .queryWithTimeout (config , null , 1000L );
7495+ millis = System .currentTimeMillis () - millis ;
7496+ assertTrue (result instanceof Job );
7497+ // Cancel the job as we don't need results.
7498+ ((Job ) result ).cancel ();
7499+ // Allow 2 seconds of timeout value to account for random delays
7500+ assertTrue (millis < 1_000_000 * 2 );
7501+
7502+ // Stateful query returns Job
7503+ // Test scenario 3 to ensure job is created if JobCreationMode is set.
74927504 config =
74937505 QueryJobConfiguration .newBuilder (query )
74947506 .setJobCreationMode (JobCreationMode .JOB_CREATION_REQUIRED )
74957507 .build ();
74967508 result = bigQuery .queryWithTimeout (config , null , null );
7497- assertTrue (result instanceof TableResult );
7498- assertNotNull (((TableResult ) result ).getJobId ());
7499- assertNull (((TableResult ) result ).getQueryId ());
7509+ assertTrue (result instanceof Job );
75007510
75017511 // Stateful query returns Job
7502- // Test scenario 3 to ensure job is created if Query is long running.
7512+ // Test scenario 4 to ensure job is created if Query is long running.
75037513 // Explicitly disable cache to ensure it is long-running query;
7504- config = QueryJobConfiguration .newBuilder (largeQuery ).setUseQueryCache (false ).build ();
7505- long millis = System .currentTimeMillis ();
7514+ config =
7515+ QueryJobConfiguration .newBuilder (largeQuery )
7516+ .setJobCreationMode (JobCreationMode .JOB_CREATION_REQUIRED )
7517+ .setUseQueryCache (false )
7518+ .build ();
7519+ millis = System .currentTimeMillis ();
75067520 result = bigQuery .queryWithTimeout (config , null , 1000L );
75077521 millis = System .currentTimeMillis () - millis ;
75087522 assertTrue (result instanceof Job );
0 commit comments