Commit Graph
257 Commits
Author SHA1 Message Date
Jonathan Shook 52dc31bfce feat(virtdata): meter the background prefetch and reach it directly
Asking for a prefetch with progress meant asking for prefetch=false and
then a binding mode — two knobs that read as contradicting each other,
because the background expr function was the one prefetch form that
never got a meter, so the only way to see a background download was to
route it through a binding.

prefetchBackground now announces its plan and watches the handle like
every other form, and prefetchCyclesBackground takes the ordinal range
directly. With the API reachable at the surface, the demo asks for what
it wants in one word: prefetch=load blocks on prefetchCycles before the
run, prefetch=background hands back a metered handle that fetches while
the cycles run, prefetch=none leaves reads to demand-page. The binding
mode knob is gone.
2026-09-02 15:54:14 +00:00
Jonathan Shook 66fc07c15f docs(stdout): correct the demo workload invocation
The documented 'nb5 run vectordata_demo' does not work: run is itself a
command, so the workload name is parsed as a second one and resolves to
no service. The scenario form drops the run — 'nb5 vectordata_demo
dataset=<name>:<profile>' — and the long form names the full bundled
path, 'nb5 run workload=activities/examples/vectordata_demo.yaml'.
Both are now shown in the workload and the guide.

Verified against the 5.25.15-release binary: the workload is bundled
and listed, both corrected forms load it, and a real dataset run meters
the download and reads base, query, and neighbor records.
2026-09-02 01:04:19 +00:00
Jonathan Shook 0b9e16ee20 feat(stdout): bundle the vectordata demo as a runnable workload
The demo only worked from a checkout. It now ships in the stdout
adapter's activities, so 'nb5 run vectordata_demo dataset=<name>:<profile>'
works from the distribution alone, with --cat and --copy for reading or
editing it.

Every catalog-touching expression is guarded on the dataset parameter
being given. Bundled workloads are parsed through the expression
pipeline by --list-workloads and --list-scenarios, so a workload that
opened a catalog unconditionally would fail listing for every user
without one configured; with no dataset named it now renders usage text
and touches nothing.
2026-09-01 23:23:47 +00:00
Jonathan Shook 9085bf06ad feat(virtdata): prefetch progress, profile warm-up, and cycle ranges from exprs
A prefetch driven from a workload was silent and awkward to aim:

- every expr prefetch now reports through the same meter the bindings
  use, so a download started from a workload announces its cost, emits
  progress while the bytes move, and confirms completion
- prefetchProfile(spec) warms every facet the profile declares, each to
  the window it declares, in one call — the form that cannot
  accidentally pull a whole shared base file, since an empty window
  means the entire facet by design
- prefetchCycles(spec, facet, start, end) takes the ordinal range
  directly, which is how an activity already describes its work

The docs record the three things that bite: expressions evaluate at
load time rather than when a tagged block runs, an empty window is a
request for everything, and assignment sigils render their value where
they are written.
2026-09-01 18:51:09 +00:00
Jonathan Shook 20eb4f3c89 feat(cqld4): dataset-derived vector search workload
cql_vector_dataset.yaml takes one dataset input —
dataset='<dataset>:<profile>' — and derives everything dataset-shaped
through the expr system at load time: the schema's vector dimensions
and similarity function, rampup cycles from the base count, search
cycles from the query count, and the ANN LIMIT and recall k from the
ground-truth width. Bindings read through the vectordata mappers, so
the profile's base window warms eagerly with download progress before
the first cycle; the plan's cost is echoed into the rendered
description. Operational knobs (keyspace, table, rf, cl) stay
conventional TEMPLATE parameters.

Verified through the real load-path transforms (TemplateRewriter +
ExprPreprocessor) against a published remote dataset: dimensions 384,
train 100k, test 10k, k 100, dot_product, all spliced correctly.
2026-08-27 18:14:50 +00:00
J S 7f1017f5a5 Merge branch 'main' into dependabot/maven/nb-adapters/adapter-aws-opensearch/org.apache.httpcomponents.client5-httpclient5-5.6.3 2026-08-20 16:11:40 -05:00
dependabot[bot] d8608d1184 build(deps): bump com.rabbitmq:amqp-client in /nb-adapters/adapter-amqp
Bumps [com.rabbitmq:amqp-client](https://github.com/rabbitmq/rabbitmq-java-client) from 5.18.0 to 5.33.1.
- [Release notes](https://github.com/rabbitmq/rabbitmq-java-client/releases)
- [Commits](https://github.com/rabbitmq/rabbitmq-java-client/compare/v5.18.0...v5.33.1)

---
updated-dependencies:
- dependency-name: com.rabbitmq:amqp-client
  dependency-version: 5.33.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-18 16:37:14 +00:00
dependabot[bot] ef75078d25 build(deps): bump org.apache.httpcomponents.client5:httpclient5
Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.2.1 to 5.6.3.
- [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.6.3/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.2.1...rel/v5.6.3)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-version: 5.6.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-13 18:45:00 +00:00
J S e14dda2084 Merge branch 'main' into dependabot/maven/nb-adapters/adapter-jdbc/org.postgresql-postgresql-42.7.12 2026-07-27 10:08:58 -05:00
J S 9e56dc7019 Merge branch 'main' into dependabot/maven/nb-adapters/adapter-cqld4/com.fasterxml.jackson.core-jackson-databind-2.18.9 2026-07-27 10:08:00 -05:00
dependabot[bot] b3e0c76bb3 build(deps): bump com.fasterxml.jackson.core:jackson-core
Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.18.6 to 2.18.8.
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.6...jackson-core-2.18.8)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.18.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 12:40:10 +00:00
dependabot[bot] a6b1889e99 build(deps): bump com.fasterxml.jackson.core:jackson-databind
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.18.1 to 2.18.9.
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.18.9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 23:05:03 +00:00
dependabot[bot] cb1155fef7 build(deps): bump org.postgresql:postgresql in /nb-adapters/adapter-jdbc
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.11 to 42.7.12.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.11...REL42.7.12)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.12
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-23 16:17:17 +00:00
Jonathan Shook 2c88373c28 add runapp option 2026-06-01 06:23:39 +00:00
dependabot[bot] c0500e352d build(deps): bump org.apache.commons:commons-configuration2
Bumps org.apache.commons:commons-configuration2 from 2.12.0 to 2.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 17:35:42 +00:00
Jonathan Shook 500c7b9609 - Diagnosed & fixed CsvReporter label-overlap crash when --report-csv-to was used; added JSONL manifest mapping fully-qualified labels → CSV file.
- Persisted min/max/mean/stddev in a new sample_statistics SQLite table; added StatsCommand and made InstantCommand/StatsCommand use per-metric latest timestamp.
  - Fixed lost activity metrics on short runs: ActivityExecutor now triggers a bypass-bucket snapshot before op dispensers detach; SQLite reporter is silent under post-close ticks.
  - New stress-report bundled app + dummy_session.yaml workload with two new diag op-tasks (cycledelay, errormodulo); c-stress-shaped per-op output, A/B equivalence mode, comparability warning at the top.
  - removed NBCLI's foundational-label re-injection.
2026-05-26 15:52:08 +00:00
dependabot[bot] 4f2903e019 build(deps): bump org.apache.commons:commons-configuration2
Bumps org.apache.commons:commons-configuration2 from 2.10.1 to 2.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:07:27 +00:00
Jonathan Shook 22220ffcea Merge branch 'main' into dependabot/maven/nb-adapters/adapter-s4j/org.apache.commons-commons-configuration2-2.15.0 2026-05-21 02:16:29 -05:00
Jonathan Shook 33529d6a60 Merge branch 'main' into dependabot/maven/nb-adapters/adapter-amqp/org.apache.commons-commons-configuration2-2.15.0 2026-05-21 02:16:01 -05:00
Jonathan Shook 994c046dcb Merge branch 'main' into dependabot/maven/nb-adapters/adapter-jdbc/org.postgresql-postgresql-42.7.11 2026-05-21 02:15:20 -05:00
Jonathan Shook 4737c76a0e Merge branch 'main' into dependabot/maven/nb-adapters/adapter-cqld4/org.bouncycastle-bcprov-jdk18on-1.84 2026-05-21 02:14:36 -05:00
dependabot[bot] c2afb64bfd build(deps): bump org.apache.commons:commons-configuration2
Bumps org.apache.commons:commons-configuration2 from 2.12.0 to 2.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 15:38:56 +00:00
dependabot[bot] 7ff39f137f build(deps): bump org.apache.commons:commons-configuration2
Bumps org.apache.commons:commons-configuration2 from 2.10.1 to 2.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 15:37:39 +00:00
dependabot[bot] 3cf0e5f398 build(deps): bump org.postgresql:postgresql in /nb-adapters/adapter-jdbc
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.2 to 42.7.11.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.2...REL42.7.11)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.11
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 14:39:37 +00:00
dependabot[bot] 3bfdd772ad build(deps): bump org.bouncycastle:bcprov-jdk18on
Bumps [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.79 to 1.84.
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

---
updated-dependencies:
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.84'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-18 01:12:16 +00:00
Jonathan Shook 2860678b32 Merge branch 'main' into dependabot/maven/nb-adapters/adapter-cqld4/com.fasterxml.jackson.core-jackson-core-2.18.6 2026-04-17 14:40:26 -05:00
dependabot[bot] db2e96e879 build(deps): bump org.apache.kafka:kafka-clients
Bumps org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2.

---
updated-dependencies:
- dependency-name: org.apache.kafka:kafka-clients
  dependency-version: 3.9.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 19:31:49 +00:00
dependabot[bot] f139413ae1 build(deps): bump com.fasterxml.jackson.core:jackson-core
Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.18.1 to 2.18.6.
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.1...jackson-core-2.18.6)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.18.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 00:31:32 +00:00
dependabot[bot] 0ce2c603ae build(deps): bump org.apache.avro:avro in /nb-adapters/adapter-pulsar
Bumps org.apache.avro:avro from 1.12.0 to 1.12.1.

---
updated-dependencies:
- dependency-name: org.apache.avro:avro
  dependency-version: 1.12.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 21:28:15 +00:00
Jonathan Shook 925383765d Merge branch 'main' into stacked_scopes 2026-01-20 11:43:18 -06:00
Jonathan Shook d308cddf21 New JMH benchmarking framework:
Added 9 new benchmark classes in nb-engine-core/.../sysperf/engineflow/ for measuring engine flow performance
  (stride context, op flow, space mapping, motor operations, etc.)
JMH documentation: Added devdocs/devguide/jmh_engineflow.md
Testing tags:
 POM updates: Added test profiles
 CONVENTIONS.md updates around test tags
 Test annotations: Added 2-3 lines to ~280 test files
 Split tests classes to allow one tag set per class (no mixed methods)
2026-01-20 17:23:18 +00:00
Stefano Lottini 3e51c330ed style fixes + bump java data api driver to latest 2026-01-14 12:15:23 +01:00
Stefano Lottini 69504fff56 spotted and fixed another ref to 'Document' class 2026-01-14 12:15:23 +01:00
Stefano Lottini 97cee8df9e full renaming of ops and op dispenser public classes/methods 2026-01-14 12:15:23 +01:00
Stefano Lottini 65cb6bdc93 add collection prefix to all op dispensers 2026-01-14 12:15:23 +01:00
Stefano Lottini 04f26889de grouping of ops in the mapper; consistent naming of ops constructor arguments and private methods 2026-01-14 12:15:23 +01:00
Stefano Lottini 1cabc57c46 First stab at data api client 2.x + find-operations will exhaust the cursor 2026-01-14 12:15:23 +01:00
dependabot[bot] 7a0412a86c Bump org.apache.commons:commons-lang3 in /nb-adapters/adapter-kafka
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.18.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.18.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-01 19:35:45 +00:00
Jonathan Shook 5e896cb912 - add optional histogram persistence to SQLite reporter and extend schema with sample_histogram
- expose encodable histogram snapshots, reuse prepared statements, and Base64-encode histogram payloads directly
  - propagate histograms flag through CLI/session wiring and document usage in local/sqlite_metrics.md
  - expand integration tests to cover histogram capture and ensure SQLite reporter behaviour is exercised
2025-10-22 15:54:46 +00:00
Jonathan Shook d0560f2801 templates as exprs (#2228)
* improve exprs dryrun output and error messages

* modularize user-extensible workload exprs

* make TEMPLATE just exprs

* square up template variable syntax

* banish double angle brackets and make Dryrun enum pervasive

* template replacement cleanup

* clean up logger levels, support copy target
2025-10-17 12:10:50 -05:00
yabinmengandYabin Meng 70a400832c Update S4J driver version to 7.0.15 (#2218)
Update Pulsar driver version to 4.0.6

Co-authored-by: Yabin Meng <yabin.meng@datastax.com>
2025-09-30 17:31:00 -05:00
dependabot[bot] 9d2f9c8b5a Bump org.apache.commons:commons-lang3 in /nb-adapters/adapter-s4j (#2211)
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.18.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.18.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 12:02:25 -05:00
dependabot[bot]andJonathan Shook 5ce78b8b0e Bump org.apache.commons:commons-lang3 in /nb-adapters/adapter-pulsar (#2204)
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.18.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.18.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Shook <jshook@users.noreply.github.com>
2025-09-24 17:46:17 -05:00
Jonathan Shook d5a99fbc85 start supporting Java 25 (#2209)
* start supporting Java 25

* update GHA Java to 25

* update AppImage deps and dependencies
2025-09-24 17:10:32 -05:00
Mark Wolters 9766b4c6cf override lombok version to work with java 24 2025-07-30 14:03:01 -04:00
Jonathan Shook 5197d11237 set main to j24 officially 2025-06-27 00:56:28 -05:00
Jonathan Shook 2c800c7fa9 fix test paths 2025-06-24 14:07:11 -05:00
dependabot[bot] 3f0c2d6bcc Bump commons-beanutils:commons-beanutils in /nb-adapters/adapter-pulsar (#2192)
Bumps commons-beanutils:commons-beanutils from 1.9.4 to 1.11.0.

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-version: 1.11.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 13:49:13 -05:00
dependabot[bot] afb2024c71 Bump commons-beanutils:commons-beanutils in /nb-adapters/adapter-amqp (#2185)
Bumps commons-beanutils:commons-beanutils from 1.9.4 to 1.11.0.

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-version: 1.11.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 13:00:43 -05:00
dependabot[bot] 94ef8b4113 Bump commons-beanutils:commons-beanutils in /nb-adapters/adapter-kafka (#2186)
Bumps commons-beanutils:commons-beanutils from 1.9.4 to 1.11.0.

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-version: 1.11.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 13:00:06 -05:00