Skip to content

Commit 404cd87

Browse files
committed
Merge branch 'main' into PR #3928 to update
2 parents da4aa9b + 347f3ac commit 404cd87

File tree

9 files changed

+77
-77
lines changed

9 files changed

+77
-77
lines changed

.kokoro/build.sh

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,22 @@ integration-multiplexed-sessions-enabled)
132132
-Denforcer.skip=true \
133133
-Dmaven.main.skip=true \
134134
-Dspanner.gce.config.project_id=gcloud-devel \
135-
-Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests-multiplexed-sessions \
135+
-Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests-regular-sessions \
136+
-fae \
137+
verify
138+
RETURN_CODE=$?
139+
;;
140+
integration-directpath-enabled)
141+
mvn -B ${INTEGRATION_TEST_ARGS} \
142+
-ntp \
143+
-Penable-integration-tests \
144+
-Djava.net.preferIPv4Stack=true \
145+
-DtrimStackTrace=false \
146+
-Dclirr.skip=true \
147+
-Denforcer.skip=true \
148+
-Dmaven.main.skip=true \
149+
-Dspanner.gce.config.project_id=gcloud-devel \
150+
-Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests-directpath \
136151
-fae \
137152
verify
138153
RETURN_CODE=$?
@@ -190,12 +205,14 @@ integration-cloud-staging|integration-cloud-staging-directpath-enabled)
190205
;;
191206
graalvm)
192207
# Run Unit and Integration Tests with Native Image
193-
mvn test -Pnative -Penable-integration-tests -Dspanner.gce.config.project_id=gcloud-devel -Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests
208+
# NOTE: These integration tests run on the Emulator.
209+
mvn test -Pnative -Penable-integration-tests -Dspanner.gce.config.project_id=gcloud-devel -Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests-graalvm
194210
RETURN_CODE=$?
195211
;;
196212
graalvm17)
197213
# Run Unit and Integration Tests with Native Image
198-
mvn test -Pnative -Penable-integration-tests -Dspanner.gce.config.project_id=gcloud-devel -Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests
214+
# NOTE: These integration tests run on the Emulator.
215+
mvn test -Pnative -Penable-integration-tests -Dspanner.gce.config.project_id=gcloud-devel -Dspanner.testenv.instance=projects/gcloud-devel/instances/java-client-integration-tests-graalvm
199216
RETURN_CODE=$?
200217
;;
201218
slowtests)

.kokoro/presubmit/integration-directpath-enabled.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ env_vars: {
2424

2525
env_vars: {
2626
key: "GOOGLE_APPLICATION_CREDENTIALS"
27-
value: "secret_manager/java-client-testing"
27+
value: "secret_manager/java-it-service-account"
2828
}
2929

3030
env_vars: {
3131
key: "SECRET_MANAGER_KEYS"
32-
value: "java-client-testing"
32+
value: "java-it-service-account"
3333
}
3434

3535
env_vars: {

.kokoro/presubmit/integration-multiplexed-sessions-enabled.cfg

Lines changed: 0 additions & 48 deletions
This file was deleted.

.kokoro/presubmit/integration-regular-sessions-enabled.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ env_vars: {
88

99
env_vars: {
1010
key: "JOB_TYPE"
11-
value: "integration"
11+
value: "integration-regular-sessions"
1212
}
1313

1414
# TODO: remove this after we've migrated all tests and scripts

google-cloud-spanner/pom.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
<spanner.testenv.instance>${spanner.testenv.instance}</spanner.testenv.instance>
6565
<spanner.gce.config.project_id>${spanner.gce.config.project_id}</spanner.gce.config.project_id>
6666
<spanner.testenv.kms_key.name>${spanner.testenv.kms_key.name}</spanner.testenv.kms_key.name>
67+
<java.util.logging.config.file>logging.properties</java.util.logging.config.file>
6768
</systemPropertyVariables>
6869

6970
</configuration>
@@ -88,6 +89,7 @@
8889
<spanner.testenv.instance>${spanner.testenv.instance}</spanner.testenv.instance>
8990
<spanner.gce.config.project_id>${spanner.gce.config.project_id}</spanner.gce.config.project_id>
9091
<spanner.testenv.kms_key.name>${spanner.testenv.kms_key.name}</spanner.testenv.kms_key.name>
92+
<java.util.logging.config.file>logging.properties</java.util.logging.config.file>
9193
</systemPropertyVariables>
9294
<forkedProcessTimeoutInSeconds>3000</forkedProcessTimeoutInSeconds>
9395
</configuration>
@@ -124,6 +126,7 @@
124126
<buildArg>-Dspanner.testenv.instance=${spanner.testenv.instance}</buildArg>
125127
<buildArg>-Dspanner.gce.config.project_id=${spanner.gce.config.project_id}</buildArg>
126128
<buildArg>-Dspanner.testenv.kms_key.name=${spanner.testenv.kms_key.name}</buildArg>
129+
<buildArg>-Djava.util.logging.config.file=logging.properties</buildArg>
127130
</buildArgs>
128131
</configuration>
129132
</plugin>
@@ -379,13 +382,13 @@
379382
<dependency>
380383
<groupId>net.bytebuddy</groupId>
381384
<artifactId>byte-buddy</artifactId>
382-
<version>1.17.7</version>
385+
<version>1.17.8</version>
383386
<scope>test</scope>
384387
</dependency>
385388
<dependency>
386389
<groupId>net.bytebuddy</groupId>
387390
<artifactId>byte-buddy-agent</artifactId>
388-
<version>1.17.7</version>
391+
<version>1.17.8</version>
389392
<scope>test</scope>
390393
</dependency>
391394

google-cloud-spanner/src/test/java/com/google/cloud/spanner/IntegrationTestEnv.java

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ protected void before() throws Throwable {
141141
.anyMatch(testEnvOption -> TestEnvOptions.USE_END_TO_END_TRACING.equals(testEnvOption))) {
142142
// OpenTelemetry set up for enabling End to End tracing for all integration test env.
143143
// The gRPC stub and connections are created during test env set up using SpannerOptions and
144-
// are
145-
// reused for executing statements.
144+
// are reused for executing statements.
146145
options = spannerOptionsWithEndToEndTracing(options);
147146
}
148147
String instanceProperty = System.getProperty(TEST_INSTANCE_PROPERTY, "");
@@ -293,31 +292,50 @@ static boolean isRetryableResourceExhaustedException(SpannerException exception)
293292
}
294293

295294
private void cleanUpOldDatabases(InstanceId instanceId) {
296-
long OLD_DB_THRESHOLD_SECS = TimeUnit.SECONDS.convert(6L, TimeUnit.HOURS);
295+
long OLD_DB_THRESHOLD_SECS = TimeUnit.SECONDS.convert(2L, TimeUnit.HOURS);
297296
Timestamp currentTimestamp = Timestamp.now();
298297
int numDropped = 0;
299298
String TEST_DB_REGEX = "(testdb_(.*)_(.*))|(mysample-(.*))";
300299

301300
logger.log(Level.INFO, "Dropping old test databases from {0}", instanceId.getName());
302-
for (Database db : databaseAdminClient.listDatabases(instanceId.getInstance()).iterateAll()) {
301+
while (true) {
303302
try {
304-
long timeDiff = currentTimestamp.getSeconds() - db.getCreateTime().getSeconds();
305-
// Delete all databases which are more than OLD_DB_THRESHOLD_SECS seconds old.
306-
if ((db.getId().getDatabase().matches(TEST_DB_REGEX))
307-
&& (timeDiff > OLD_DB_THRESHOLD_SECS)) {
308-
logger.log(Level.INFO, "Dropping test database {0}", db.getId());
309-
if (db.isDropProtectionEnabled()) {
310-
Database updatedDatabase =
311-
databaseAdminClient.newDatabaseBuilder(db.getId()).disableDropProtection().build();
312-
databaseAdminClient
313-
.updateDatabase(updatedDatabase, DatabaseField.DROP_PROTECTION)
314-
.get();
303+
for (Database db :
304+
databaseAdminClient.listDatabases(instanceId.getInstance()).iterateAll()) {
305+
try {
306+
long timeDiff = currentTimestamp.getSeconds() - db.getCreateTime().getSeconds();
307+
// Delete all databases which are more than OLD_DB_THRESHOLD_SECS seconds old.
308+
if ((db.getId().getDatabase().matches(TEST_DB_REGEX))
309+
&& (timeDiff > OLD_DB_THRESHOLD_SECS)) {
310+
logger.log(Level.INFO, "Dropping test database {0}", db.getId());
311+
if (db.isDropProtectionEnabled()) {
312+
Database updatedDatabase =
313+
databaseAdminClient
314+
.newDatabaseBuilder(db.getId())
315+
.disableDropProtection()
316+
.build();
317+
databaseAdminClient
318+
.updateDatabase(updatedDatabase, DatabaseField.DROP_PROTECTION)
319+
.get();
320+
}
321+
db.drop();
322+
++numDropped;
323+
}
324+
} catch (SpannerException | ExecutionException | InterruptedException e) {
325+
logger.log(Level.SEVERE, "Failed to drop test database " + db.getId(), e);
315326
}
316-
db.drop();
317-
++numDropped;
318327
}
319-
} catch (SpannerException | ExecutionException | InterruptedException e) {
320-
logger.log(Level.SEVERE, "Failed to drop test database " + db.getId(), e);
328+
break;
329+
} catch (SpannerException exception) {
330+
if (exception.getErrorCode() != ErrorCode.RESOURCE_EXHAUSTED) {
331+
throw exception;
332+
}
333+
// Wait a little and try again.
334+
try {
335+
Thread.sleep(10_000);
336+
} catch (InterruptedException interruptedException) {
337+
throw SpannerExceptionFactory.propagateInterrupt(interruptedException);
338+
}
321339
}
322340
}
323341
logger.log(Level.INFO, "Dropped {0} test database(s)", numDropped);

google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SpannerPoolTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.io.ByteArrayOutputStream;
4545
import java.io.OutputStream;
4646
import java.util.concurrent.TimeUnit;
47+
import java.util.logging.ConsoleHandler;
4748
import java.util.logging.Handler;
4849
import java.util.logging.Logger;
4950
import java.util.logging.StreamHandler;
@@ -211,7 +212,8 @@ private void attachLogCapturer() {
211212
currentLogger = currentLogger.getParent();
212213
}
213214
if (handlers.length == 0) {
214-
throw new IllegalStateException("no handlers found for logger");
215+
handlers = new Handler[1];
216+
handlers[0] = new ConsoleHandler();
215217
}
216218
customLogHandler = new StreamHandler(logCapturingStream, handlers[0].getFormatter());
217219
useParentHandlers = log.getUseParentHandlers();
@@ -267,6 +269,7 @@ public void testRemoveConnectionConnectionAlreadyRemoved() {
267269

268270
@Test
269271
public void testCloseSpanner() {
272+
attachLogCapturer();
270273
SpannerPool pool = createSubjectAndMocks();
271274
Spanner spanner = pool.getSpanner(options1, connection1);
272275
// verify that closing is not possible until all connections have been removed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.level=INFO
2+
.handlers=java.util.logging.ConsoleHandler
3+
java.util.logging.ConsoleHandler.level=INFO
4+
java.util.logging.Logger.useParentHandlers=true
5+
6+
# Set log level to WARN for SpannerImpl to prevent log spamming of the Spanner configuration.
7+
com.google.cloud.spanner.SpannerImpl.LEVEL=WARN

samples/snippets/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<dependency>
3535
<groupId>com.google.cloud</groupId>
3636
<artifactId>libraries-bom</artifactId>
37-
<version>26.69.0</version>
37+
<version>26.70.0</version>
3838
<type>pom</type>
3939
<scope>import</scope>
4040
</dependency>

0 commit comments

Comments
 (0)