Repository navigation
chore: merge upstream apache 4.19.4 - #1291
Conversation
Patch by Bret McGuire; reviewed by Andy Tolbert and Bret McGuire reference: apache#2066
patch by April Murphy; reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2064
The primary goal here is to address CVE-2025-12183. Netty includes a dependency on vulnerable versions of lz4-java, so update to a fixed version of Netty as well. On the C* server side, we opted to move to the new community fork of lz4-java, so match that decision here (CASSANDRA-21052). patch by Abe Ratnofsky; reviewed by Francisco Guerrero for CASSJAVA-113
patch by Bret McGuire; reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2051
…kdocs I've been looking into details on custom codes and noticed that the there is an issue with rendering bullet points on the following page: https://apache.github.io/cassandra-java-driver/4.19.0/core/custom_codecs/
…der correctly while working on the previous ninja-fix
…ringClause abstraction. This allows for custom impls to define their own logic for managing "ORDER BY" clauses. patch by Bret McGuire; reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2047
patch by Lukasz Antoniak; reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2075
patch by Bret McGuire: reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2076
patch by Bret McGuire; reviewed by Bret McGuire and Lukasz Antoniak reference: apache#2052
This reverts commit de96ce8.
patch by Jason Koch; reviewed by Lukasz Antoniak and Bret McGuire reference: apache#2050
patch by David Stringer; reviewed by Lukasz Antoniak and Bret McGuire reference: apache#2022
patch by Jane He; reviewed by Bret McGuire and Andy Tolbert
patch by Jane He; review by Bret McGuire and Andy Tolbert
… Build CI for Java Driver Doc Patch by Jane He and Łukasz Antoniak; Reviewed by Bret McGuire
This reverts commit 342088c.
This reverts commit 375e4b5.
… of the original PR (apache#1901). The change that was actually merged attempted to bump us up to the most recent Java8-compatible logback impl. This moved us from 1.2.x to 1.3.x which in turn brought some dependency changes that were excessive, especially for a patch release. patch by Bret McGuire; reviewed by Andy Tolbert and Abe Ratnofsky reference: apache#2088
This reverts commit 8e2e70c.
Two slips in BundleOptions. The shaded guava bundle kept the org.apache.cassandra groupId from scylladb#895, which versionAsInProject() cannot resolve through our dependencies.properties. The 4.19.3 merge resolved the lz4Bundle() conflict to our side and dropped upstream's CASSJAVA-122 sun.misc extension bundle, which lz4-java imports. Every Osgi*IT is @ignore'd and no lane runs them (scylladb#1293), so neither showed. Refs: DRIVER-1126 Co-Authored-By: Claude Fable 5.1 <[email protected]>
Upstream 4.19.3 moved weakValues() from the protected constructor's base builder into the public constructor's decorator, so a subclass that passes its own decorator now gets a strong cache. Our TestCqlPrepareAsyncProcessor only retained the cached futures to stop them being collected mid-test. Take upstream's comment, drop the retention set and the process() override, and require the removal event again instead of checking it only when present. Refs: DRIVER-1126 Co-Authored-By: Claude Fable 5.1 <[email protected]>
Select.orderBy() still promises to append to the current list, but since the OrderingClause rework an ANN ordering is replaced instead, and orderByAnnOf() replaces any column ordering; say so. ANN stands for approximate, not adjacent, nearest neighbor. Refs: DRIVER-1126 Co-Authored-By: Claude Fable 5.1 <[email protected]>
changelog/README.md tracks upstream releases only. The 4.19.2.3 section came in with feature PRs; the same changes are described in the upgrade guide and the GitHub release notes. Refs: DRIVER-1126 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
The line now carries upstream 4.19.4, so the next fork release restarts the fourth component at 4.19.4.0, as 4.19.2.0 did after the 4.19.2 sync. Refs: DRIVER-1126 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
312eb89 to
5048379
Compare
|
@nikagra , why do we jump from 19.2 to 19.4 ? |
dkropachev
left a comment
There was a problem hiding this comment.
split into 4.19.3 into separate pr
|
@dkropachev Similarly to 3.x case split will produce a second PR containing changelog merge and version bump. There is little sense in splitting them and we already have a precedence (skipped |
| allowsFiltering, | ||
| bypassCache, | ||
| timeout); | ||
| ColumnsOrderingClause coc = getColumnOrderingClause(); |
There was a problem hiding this comment.
Minor: orderByAnnOf(...).orderByIds(Collections.emptyMap()) now removes the ANN clause entirely. For example, a vector-search query becomes SELECT * FROM vectors LIMIT 5; the previous implementation kept its ANN ordering. Dynamically assembled empty ordering maps can therefore turn a nearest-neighbor query into an unordered query. Preserve the existing ordering when no column clauses are supplied.
There was a problem hiding this comment.
Fixed in d741d7f: an empty map now leaves the query unchanged, as it did in 4.19.2.x. should_keep_ann_ordering_when_map_is_empty covers it.
|
|
||
| assertThat(changedTypes.keySet()).isEqualTo(expectedChangedTypes); | ||
| removedQueryIds.get().ifPresent(queryId -> assertThat(queryId).isEqualTo(queryId2)); | ||
| assertThat(removedQueryIds.get()).isNotEmpty().get().isEqualTo(queryId2); |
There was a problem hiding this comment.
Minor: The cache-size wait does not establish that the removal event has been delivered. Guava publishes the reduced count before invoking the removal listener, so another thread can observe size 1 and finish the following prepare calls while removedQueryIds is still empty. This assertion can then fail despite correct eventual delivery. Keep the required assertion, but await the removal event and matching query ID within a bounded deadline.
There was a problem hiding this comment.
Fixed in e839d4e: the test now waits until the removal event carries queryId2 before the re-prepare calls run.
| allowsFiltering, | ||
| bypassCache, | ||
| timeout); | ||
| ColumnsOrderingClause coc = getColumnOrderingClause(); |
There was a problem hiding this comment.
Minor: The map overloads now replace an existing ANN ordering, but Select.orderByIds(Map) and orderBy(Map) still describe appending the supplied clauses. The scalar overloads explicitly document replacement. Whichever behavior is selected for the open mixed-ordering question, the map-overload documentation needs to describe that same behavior, including the empty-map case.
There was a problem hiding this comment.
Fixed in d741d7f: orderByIds(Map) and orderBy(Map) now document that they replace an ANN OF ordering and that an empty map leaves the query unchanged.
| - [improvement] CASSJAVA-108: Update ESRI (and remove org.json) dependencies | ||
| - [improvement] PR 2076: Bump Jackson to 2.20.1 | ||
| - [improvement] PR 2047: Re-work ordering clause support in query builder | ||
| - [improvement] PR 2051: Bump logback to 1.3.15, slf4j to 2.0.16 |
There was a problem hiding this comment.
Nit: This entry says upstream 4.19.3 shipped Logback 1.3.15 and SLF4J 2.0.16, but that release's POM specifies 1.2.13 and 1.7.26. Correct the entry so it describes the logging versions actually released upstream.
There was a problem hiding this comment.
This file mirrors upstream's changelog verbatim. Their 4.19.3 POM does have 1.2.13/1.7.26, but we don't edit their entries.
Guava lowers the cache size before it calls the removal listener, so the size wait alone left the removed-query-id assertion racing the event. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The ordering-clause rework made orderByIds(emptyMap) replace an ANN ordering with nothing; 4.19.2.x kept it. Document the map overloads' replace behaviour and fix a typo in CqlPrepareAsyncProcessor. Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
This pull request merges upstream |
|
@dkropachev this merge dropped #1291 was merged into Repair it with a pull request that holds only an ancestry merge, merged with Create a merge commit (as #1281 did): |
#1291 and #1344 were squash-merged, so scylla-4.x carries the 4.19.3 and 4.19.4 changes but not apache's tags in its history. This merge records 4.19.4 (and through it 4.19.3) as an ancestor without changing any file. Fixes #1345 Co-Authored-By: Claude Opus 5.5 <[email protected]>
Caution
Merge with Create a merge commit and the ruleset bypass. Squash or rebase drops 4.19.3 and 4.19.4 from
scylla-4.x's history (#467, #895). To pick up newscylla-4.xcommits, merge them into this branch; don't rebase it.scylla-4.xis 39 commits behind apache 4.19.4. With the ancestry restored by #1281, this merges the tags as real merges. The history is two merge commits, seven fixes, the changelog, then the version bump, sogit show --remerge-diff <merge>shows exactly what we chose:merge upstream 4.19.3andmerge upstream 4.19.4: conflicts resolved toward the fork (poms, revapi baselines, Sphinx links, fork docs, DSE removals). Takes esri 2.2.4, theOrderingClauserework withBYPASS CACHE/USING TIMEOUTkept, and the OSGi start levels; drops mkdocs,AGENTS.md,SECURITY.mdandJenkinsfile-asf.#inflighthandleranchor, the custom codecs nesting and the lz4 example version; geometryequals()compares the wrapped ESRI geometry (no identity fallback on ESRI 1.x); the OSGi lz4sun.miscbundle the 4.19.3 resolution dropped, and the shaded-guava groupId; the redundant prepared-cache test retention; two upstream javadoc corrections.4.19.2.3section removed from the upstream changelog.4.19.4.0-SNAPSHOT.Verified on the final head:
merge-base --is-ancestor 4.19.{2,3,4} HEADall exit 0, and both merges keep their tag parents.make checkon JDK 11 (revapi left to CI's Full verify), the geometry unit tests,PreparedStatementCachingITagainst Scylla via CCM, andmake -C docs testpass; the docs build does not validate#fragmentanchors; those were checked by hand. CI: re-running on 5048379. The OSGi ITs are@Ignored and have no CI lane (#1293): compile-checked only.Fixes #1255
Refs: DRIVER-1126
🤖 Generated with Claude Code