Skip to content

Commit a2567a0

Browse files
Merge remote-tracking branch 'origin/main' into jetty-12.1.x
2 parents a9a45a5 + 553151a commit a2567a0

145 files changed

Lines changed: 372 additions & 4344 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/maven.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,7 @@ jobs:
3232
matrix:
3333
os: [ubuntu-latest]
3434
java: [17, 21, 24]
35-
jdk: [temurin, liberica, zulu]
36-
exclude:
37-
- java: 17
38-
jdk: liberica
39-
- java: 17
40-
jdk: zulu
41-
- java: 24
42-
jdk: temurin
35+
jdk: [temurin]
4336
fail-fast: false
4437

4538
runs-on: ${{ matrix.os }}

.mvn/wrapper/maven-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
# under the License.
1717
wrapperVersion=3.3.2
1818
distributionType=only-script
19-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
19+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Source code for all public APIs for com.google.appengine.api.* packages.
6969
<dependency>
7070
<groupId>com.google.appengine</groupId>
7171
<artifactId>appengine-api-1.0-sdk</artifactId>
72-
<version>2.0.33</version><!-- or later-->
72+
<version>2.0.37</version><!-- or later-->
7373
</dependency>
7474
<dependency>
7575
<groupId>javax.servlet</groupId>
@@ -89,7 +89,7 @@ Source code for all public APIs for com.google.appengine.api.* packages.
8989
<dependency>
9090
<groupId>com.google.appengine</groupId>
9191
<artifactId>appengine-api-1.0-sdk</artifactId>
92-
<version>2.0.33</version><!-- or later-->
92+
<version>2.0.37</version><!-- or later-->
9393
</dependency>
9494
<dependency>
9595
<groupId>jakarta.servlet</groupId>
@@ -188,7 +188,7 @@ Source code for remote APIs for App Engine.
188188
<dependency>
189189
<groupId>com.google.appengine</groupId>
190190
<artifactId>appengine-remote-api</artifactId>
191-
<version>2.0.33</version><!-- Or later-->
191+
<version>2.0.37</version><!-- Or later-->
192192
</dependency>
193193
```
194194
@@ -211,7 +211,7 @@ We moved `com.google.appengine.api.memcache.stdimpl` and its old dependency
211211
<dependency>
212212
<groupId>com.google.appengine</groupId>
213213
<artifactId>appengine-api-legacy.jar/artifactId>
214-
<version>2.0.33</version><!-- Or later-->
214+
<version>2.0.37</version><!-- Or later-->
215215
</dependency>
216216
```
217217
@@ -226,19 +226,19 @@ We moved `com.google.appengine.api.memcache.stdimpl` and its old dependency
226226
<dependency>
227227
<groupId>com.google.appengine</groupId>
228228
<artifactId>appengine-testing</artifactId>
229-
<version>2.0.33</version><!-- Or later-->
229+
<version>2.0.37</version><!-- Or later-->
230230
<scope>test</scope>
231231
</dependency>
232232
<dependency>
233233
<groupId>com.google.appengine</groupId>
234234
<artifactId>appengine-api-stubs</artifactId>
235-
<version>2.0.33</version><!-- Or later-->
235+
<version>2.0.37</version><!-- Or later-->
236236
<scope>test</scope>
237237
</dependency>
238238
<dependency>
239239
<groupId>com.google.appengine</groupId>
240240
<artifactId>appengine-tools-sdk</artifactId>
241-
<version>2.0.33</version><!-- Or later-->
241+
<version>2.0.37</version><!-- Or later-->
242242
<scope>test</scope>
243243
</dependency>
244244
```

THIRD-PARTY.txt

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -65,24 +65,6 @@ The repository contains 3rd-party code under the following licenses:
6565
* Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
6666
* Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
6767
* Guava Testing Library (com.google.guava:guava-testlib:31.1-jre - https://github.com/google/guava/guava-testlib)
68-
* io.grpc:grpc-alts (io.grpc:grpc-alts:1.45.1 - https://github.com/grpc/grpc-java)
69-
* io.grpc:grpc-api (io.grpc:grpc-api:1.49.0 - https://github.com/grpc/grpc-java)
70-
* io.grpc:grpc-auth (io.grpc:grpc-auth:1.42.1 - https://github.com/grpc/grpc-java)
71-
* io.grpc:grpc-context (io.grpc:grpc-context:1.27.2 - https://github.com/grpc/grpc-java)
72-
* io.grpc:grpc-context (io.grpc:grpc-context:1.42.1 - https://github.com/grpc/grpc-java)
73-
* io.grpc:grpc-context (io.grpc:grpc-context:1.49.0 - https://github.com/grpc/grpc-java)
74-
* io.grpc:grpc-core (io.grpc:grpc-core:1.45.1 - https://github.com/grpc/grpc-java)
75-
* io.grpc:grpc-core (io.grpc:grpc-core:1.49.0 - https://github.com/grpc/grpc-java)
76-
* io.grpc:grpc-googleapis (io.grpc:grpc-googleapis:1.45.1 - https://github.com/grpc/grpc-java)
77-
* io.grpc:grpc-grpclb (io.grpc:grpc-grpclb:1.42.1 - https://github.com/grpc/grpc-java)
78-
* io.grpc:grpc-netty (io.grpc:grpc-netty:1.49.0 - https://github.com/grpc/grpc-java)
79-
* io.grpc:grpc-netty-shaded (io.grpc:grpc-netty-shaded:1.45.1 - https://github.com/grpc/grpc-java)
80-
* io.grpc:grpc-protobuf (io.grpc:grpc-protobuf:1.49.0 - https://github.com/grpc/grpc-java)
81-
* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.42.1 - https://github.com/grpc/grpc-java)
82-
* io.grpc:grpc-protobuf-lite (io.grpc:grpc-protobuf-lite:1.49.0 - https://github.com/grpc/grpc-java)
83-
* io.grpc:grpc-services (io.grpc:grpc-services:1.42.1 - https://github.com/grpc/grpc-java)
84-
* io.grpc:grpc-stub (io.grpc:grpc-stub:1.49.0 - https://github.com/grpc/grpc-java)
85-
* io.grpc:grpc-xds (io.grpc:grpc-xds:1.45.1 - https://github.com/grpc/grpc-java)
8668
* J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
8769
* Jackson (org.codehaus.jackson:jackson-core-asl:1.9.13 - http://jackson.codehaus.org)
8870
* Jackson 2 extensions to the Google HTTP Client Library for Java. (com.google.http-client:google-http-client-jackson2:1.41.7 - https://github.com/googleapis/google-http-java-client/google-http-client-jackson2)
@@ -113,17 +95,6 @@ The repository contains 3rd-party code under the following licenses:
11395
* Lucene Core (org.apache.lucene:lucene-core:2.9.4 - http://lucene.apache.org/java/lucene-core)
11496
* MortBay :: Apache EL :: API and Implementation (org.mortbay.jasper:apache-el:8.5.70 - https://github.com/jetty-project/jasper-jsp/apache-el)
11597
* MortBay :: Apache Jasper :: JSP Implementation (org.mortbay.jasper:apache-jsp:8.5.70 - https://github.com/jetty-project/jasper-jsp/apache-jsp)
116-
* Netty/Buffer (io.netty:netty-buffer:4.1.77.Final - https://netty.io/netty-buffer/)
117-
* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.77.Final - https://netty.io/netty-codec-http/)
118-
* Netty/Codec/HTTP2 (io.netty:netty-codec-http2:4.1.77.Final - https://netty.io/netty-codec-http2/)
119-
* Netty/Codec/Socks (io.netty:netty-codec-socks:4.1.77.Final - https://netty.io/netty-codec-socks/)
120-
* Netty/Codec (io.netty:netty-codec:4.1.77.Final - https://netty.io/netty-codec/)
121-
* Netty/Common (io.netty:netty-common:4.1.77.Final - https://netty.io/netty-common/)
122-
* Netty/Handler/Proxy (io.netty:netty-handler-proxy:4.1.77.Final - https://netty.io/netty-handler-proxy/)
123-
* Netty/Handler (io.netty:netty-handler:4.1.77.Final - https://netty.io/netty-handler/)
124-
* Netty/Resolver (io.netty:netty-resolver:4.1.77.Final - https://netty.io/netty-resolver/)
125-
* Netty/Transport/Native/Unix/Common (io.netty:netty-transport-native-unix-common:4.1.77.Final - https://netty.io/netty-transport-native-unix-common/)
126-
* Netty/Transport (io.netty:netty-transport:4.1.77.Final - https://netty.io/netty-transport/)
12798
* Objenesis (org.objenesis:objenesis:3.2 - http://objenesis.org/objenesis)
12899
* OpenCensus (io.opencensus:opencensus-api:0.30.0 - https://github.com/census-instrumentation/opencensus-java)
129100
* OpenCensus (io.opencensus:opencensus-api:0.31.1 - https://github.com/census-instrumentation/opencensus-java)

TRYLATESTBITSINPROD.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ top of your web application and change the entrypoint to boot with these jars in
4646
./mvnw clean install
4747
```
4848

49-
Let's assume the current build version is `2.0.34-SNAPSHOT`.
49+
Let's assume the current build version is `2.0.38-SNAPSHOT`.
5050

5151
See the output of the runtime deployment module which contains all the jars needed by the runtime:
5252

@@ -66,7 +66,7 @@ Add the dependency for the GAE runtime jars in your application pom.xml file:
6666

6767
```
6868
<properties>
69-
<appengine.runtime.version>2.0.34-SNAPSHOT</appengine.runtime.version>
69+
<appengine.runtime.version>2.0.38-SNAPSHOT</appengine.runtime.version>
7070
<appengine.runtime.location>target/${project.artifactId}-${project.version}</appengine.runtime.location>
7171
<properties>
7272
...

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>com.google.appengine</groupId>
2323
<artifactId>parent</artifactId>
24-
<version>2.0.34-SNAPSHOT</version>
24+
<version>2.0.38-SNAPSHOT</version>
2525
</parent>
2626
<properties>
2727
<maven.deploy.skip>true</maven.deploy.skip>

api/src/main/java/com/google/appengine/api/datastore/PreparedQueryImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public PreparedQueryImpl(Query query, Transaction txn, QueryRunner queryRunner)
3636
this.txn = txn;
3737
this.queryRunner = queryRunner;
3838

39-
// TODO Move this check and the one that follows into the
40-
// LocalDatastoreService (it may already be there).
41-
checkArgument(
42-
txn == null || query.getAncestor() != null,
43-
"Only ancestor queries are allowed inside transactions.");
4439
TransactionImpl.ensureTxnActive(txn);
4540
}
4641

api/src/main/java/com/google/appengine/api/datastore/ValidatedQuery.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,6 @@ private void validateQuery() {
9393
}
9494
}
9595

96-
// Transaction requires ancestor
97-
if (query.hasTransaction() && !query.hasAncestor()) {
98-
throw new IllegalQueryException(
99-
"Only ancestor queries are allowed inside transactions.",
100-
IllegalQueryType.TRANSACTION_REQUIRES_ANCESTOR);
101-
}
102-
10396
// Filters and sort orders require kind.
10497
if (!query.hasKind()) {
10598
for (Filter filter : query.filters()) {

api_dev/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>com.google.appengine</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>2.0.34-SNAPSHOT</version>
26+
<version>2.0.38-SNAPSHOT</version>
2727
</parent>
2828

2929
<packaging>jar</packaging>

api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalDatastoreService.java

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,29 +1207,23 @@ public QueryResult runQuery(Status status, Query query) {
12071207
String app = query.getApp();
12081208
Profile profile = getOrCreateProfile(app);
12091209

1210-
// The real datastore supports executing ancestor queries in transactions.
1211-
// For now we're just going to make sure the entity group of the ancestor
1212-
// is the same entity group with which the transaction is associated and
1213-
// skip providing a transactionally consistent result set.
1214-
12151210
synchronized (profile) {
1216-
// Having a transaction implies we have an ancestor, but having an
1217-
// ancestor does not imply we have a transaction.
1218-
if (query.hasTransaction() || query.hasAncestor()) {
1219-
// Query can only have a txn if it is an ancestor query. Either way we
1220-
// know we've got an ancestor.
1211+
1212+
if (query.hasTransaction()) {
1213+
if (!app.equals(query.getTransaction().getApp())) {
1214+
throw newError(
1215+
ErrorCode.INTERNAL_ERROR,
1216+
"Can't query app "
1217+
+ app
1218+
+ "in a transaction on app "
1219+
+ query.getTransaction().getApp());
1220+
}
1221+
}
1222+
1223+
if (query.hasAncestor()) {
12211224
Path groupPath = getGroup(query.getAncestor());
12221225
Profile.EntityGroup eg = profile.getGroup(groupPath);
12231226
if (query.hasTransaction()) {
1224-
if (!app.equals(query.getTransaction().getApp())) {
1225-
throw newError(
1226-
ErrorCode.INTERNAL_ERROR,
1227-
"Can't query app "
1228-
+ app
1229-
+ "in a transaction on app "
1230-
+ query.getTransaction().getApp());
1231-
}
1232-
12331227
LiveTxn liveTxn = profile.getTxn(query.getTransaction().getHandle());
12341228
// this will throw an exception if we attempt to read from
12351229
// the wrong entity group
@@ -1238,12 +1232,10 @@ public QueryResult runQuery(Status status, Query query) {
12381232
profile = eg.getSnapshot(liveTxn);
12391233
}
12401234

1241-
if (query.hasAncestor()) {
1242-
if (query.hasTransaction() || !query.hasFailoverMs()) {
1243-
// Either we have a transaction or the user has requested strongly
1244-
// consistent results. Either way, we need to apply jobs.
1245-
eg.rollForwardUnappliedJobs();
1246-
}
1235+
if (query.hasTransaction() || !query.hasFailoverMs()) {
1236+
// Either we have a transaction or the user has requested strongly
1237+
// consistent results. Either way, we need to apply jobs.
1238+
eg.rollForwardUnappliedJobs();
12471239
}
12481240
}
12491241

0 commit comments

Comments
 (0)