Skip to content

Sync integration with the new Develop Changes - #2346

Merged
siri-varma merged 4 commits into
integrationfrom
develop
Sep 29, 2026
Merged

siri-varma merged 4 commits into
integrationfrom
develop

Conversation

@siri-varma

@siri-varma siri-varma commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Pull Request checklist

  • The commit(s) message(s) follows the contribution guidelines ?
  • Tests for the changes have been added (for bug fixes / features) ?
  • Docs have been added / updated (for bug fixes / features)

kvpetrov and others added 4 commits September 19, 2026 13:56
Co-authored-by: Kier Petrov <kpetrov@apple.com>
…ing QueryActor (#2332)

* Adding cardinality collection in coordinator actor to avoid load in QueryActor
…2345)

* Open java.util.regex for JDK 21 so Kryo can serialize regex filters

Filter.EqualsRegex and Filter.NotEqualsRegex keep a compiled
java.util.regex.Pattern as a field:

    final case class EqualsRegex(value: Any) extends Filter {
      val pattern = Pattern.compile(value.toString, Pattern.DOTALL)

That Pattern rides along inside ExecPlans sent over akka remoting, nested as
LocalPartitionReduceAggregateExec.childAggregates ->
MultiSchemaPartitionsExec.filters -> ColumnFilter.filter ->
Filter$EqualsRegex.pattern.

akka-kryo-serialization has no serializer registered for Pattern, so Kryo
falls back to the reflective FieldSerializer. On JDK 16+ that serializer
cannot even be constructed, because java.base does not open
java.util.regex:

    IllegalArgumentException: Unable to create serializer "FieldSerializer"
    for class: java.util.regex.Pattern

Measured on JDK 21.0.12, 26 of Pattern's 35 declared fields throw
InaccessibleObjectException ("module java.base does not opens
java.util.regex to unnamed module"); Pattern also has no no-arg
constructor. After adding this open, all 35 are accessible.

These opens are NOT recursive, so the existing
--add-opens=java.base/java.util entry does not cover the java.util.regex
subpackage.

The failure surfaces while DESERIALIZING on the receiving node, so akka
declares the association failed and gates the peer for 5s. While gated,
every query to that node fails, not only the regex one -- observed as HTTP
500 "Shard: N is not available" across all queries on a cluster whose
shards were all active and healthy.

Verified on a live 2-node cluster by adding the flag and restarting:
Pattern setAccessible went from ok=9/fail=26 to ok=35/fail=0, the Kryo
Pattern errors went from ~1000 per node to 0, and PromQL regex matchers
went from failing every request to succeeding.

jdk21ModuleOpens is consumed both by the test settings here and, in the
Apple packaging module, by javaOptions in Universal, which emits
conf/application.ini for the packaged launcher -- so this one entry covers
tests and shipped artifacts alike.

* Remove comments about regex open options

Removed comments explaining the need for regex opens.

---------

Co-authored-by: Siri Varma Vegiraju <s_vegiraju@apple.com>
* feat(query): Adding LabelAudit logicalPlan holder to the queries
@sandeep6189

Copy link
Copy Markdown
Contributor

please update the PR description or remove the placeholder message

@siri-varma
siri-varma merged commit 1d18d94 into integration Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants