Skip to content

fix (query): Develop branch is out of sync with integration - #2344

Merged
kvpetrov merged 1 commit into
filodb:developfrom
kvpetrov:sync_to_integ_range
Sep 19, 2026
Merged

kvpetrov merged 1 commit into
filodb:developfrom
kvpetrov:sync_to_integ_range

Conversation

@kvpetrov

@kvpetrov kvpetrov commented Sep 17, 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) ?

Current behavior : (link exiting issues here : https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests)
develop branch is out of sync with integration

New behavior :
develop branch is synchronized with integration

@kvpetrov kvpetrov changed the title sync to the integration fix (query): Develop branch is out of sync with integration Sep 19, 2026
@kvpetrov
kvpetrov merged commit 8cd602a into filodb:develop Sep 19, 2026
1 check passed
siri-varma added a commit that referenced this pull request Sep 29, 2026
* sync to the integration (#2344)

Co-authored-by: Kier Petrov <kpetrov@apple.com>

* feat(coordinator,http): TsCardinalities via coordinator actor, bypassing QueryActor (#2332)

* Adding cardinality collection in coordinator actor to avoid load in QueryActor

* Open java.util.regex for JDK 21 so Kryo can serialize regex filters (#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 (#2347)

* feat(query): Adding LabelAudit logicalPlan holder to the queries

---------

Co-authored-by: kvpetrov <3790323+kvpetrov@users.noreply.github.com>
Co-authored-by: Kier Petrov <kpetrov@apple.com>
Co-authored-by: sandeep6189 <sandeep6189@gmail.com>
Co-authored-by: Siri Varma Vegiraju <s_vegiraju@apple.com>
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.

2 participants