Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: feldera/feldera
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.321.0
Choose a base ref
...
head repository: feldera/feldera
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.322.0
Choose a head ref
  • 9 commits
  • 39 files changed
  • 8 contributors

Commits on Jul 14, 2026

  1. [adapters] Parse Debezium logical types in the Avro input connector

    Debezium encodes temporal and variable-scale-decimal columns in forms that
    differ from the standard Avro types, tagging them with a `connect.name`
    attribute rather than a native Avro logical type.
    
    This commit adds support for several such types:
    - Temporal: Time, MicroTime, NanoTime, ZonedTime, Timestamp,
      MicroTimestamp, NanoTimestamp, ZonedTimestamp, and the
      org.apache.kafka.connect.data.* aliases from time.precision.mode=connect,
      parsed into TIME/TIMESTAMP. Date already deserialized correctly as a
      plain day count and needs no conversion.
    - io.debezium.data.VariableScaleDecimal, a {scale, value} record used for
      NUMERIC/DECIMAL columns without a fixed scale, parsed into DECIMAL.
    
    The implementation could have been simpler if it didn't have to fight with
    the `apache-avro` crate, which drops attributes on primitive schemas, so these
    annotations were lost.
    
    Signed-off-by: Leonid Ryzhyk <ryzhyk@gmail.com>
    ryzhyk committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    60f5342 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    31e3528 View commit details
    Browse the repository at this point in the history
  3. deploy: prefer IPv4 in glibc DNS resolution

    Node.js-based GHA actions (e.g. setup-uv) hang and time out fetching
    raw.githubusercontent.com on our EKS runners, which have no IPv6
    routing but still get an AAAA record back. glibc's getaddrinfo tries
    that IPv6 result first and only falls back to IPv4 after the OS-level
    timeout.
    
    Fixing this in the feldera-dev image itself (via /etc/gai.conf)
    applies to every environment that uses it, instead of patching
    NODE_OPTIONS per-cluster in each ArgoCD-managed runner/job-hook config.
    jyotshnayaparla-00 committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    af0a72b View commit details
    Browse the repository at this point in the history
  4. [connectors] Improve Avro key name validation

    Signed-off-by: Mihai Budiu <mbudiu@feldera.com>
    mihaibudiu committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    3f11627 View commit details
    Browse the repository at this point in the history
  5. [dbsp] Don't issue warning for pidlock file.

    This suppresses a warning of the form
    
    ```
    INFO dbsp::circuit::checkpointer:  Keeping unexpected File { size: 0 } feldera.pidlock
    ```
    
    when a pipeline restarts.
    
    Tested manually by starting a pipeline with nonempty storage with and
    without this commit.
    
    Fixes: feldera/cloud#1726
    
    Signed-off-by: Ben Pfaff <blp@feldera.com>
    blp committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    53438cc View commit details
    Browse the repository at this point in the history
  6. [adapters] Widen test HTTP client request timeout to avoid CI flakes

    TestHttpSender relied on awc's 5s default request timeout, which is
    shorter than the test harness's own 20s async_wait/completion budgets.
    Under CI load, or a k8s CPU-quota freeze that stalls the in-process
    server past 5s, the client deadline fires and panics an otherwise
    healthy request (observed as test_silent_bootstrap failing with
    `Err(Timeout)` at test/http.rs). The /ingress POST is non-idempotent, so
    retrying on timeout could double-insert records; instead widen the
    client deadline to 120s and let the higher-level waits govern liveness.
    
    Signed-off-by: Leonid Ryzhyk <ryzhyk@gmail.com>
    ryzhyk authored and mihaibudiu committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    0d4fd2e View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2026

  1. Revert "deploy: prefer IPv4 in glibc DNS resolution"

    This reverts commit af0a72b.
    gz committed Jul 15, 2026
    Configuration menu
    Copy the full SHA
    fdd8c96 View commit details
    Browse the repository at this point in the history
  2. [dbsp] Publish accumulated outputs atomically across workers

    The AccumulateOutput operator produces a single output per transaction
    per worker. The idea was that this would generate a single output batch
    per transaction for each output connector, giving the connector an
    opportunity to commit these changes in a single transaction to the
    data sink (e.g., the Delta Lake connector does that). However different
    workers can produce their per-transaction outputs in different steps,
    resulting in multiple non-empty outputs from the circuit. This was
    unlikely to happen before the introduction of streaming exchange, since
    the upstream `shard` operator contains a barrier that synchronizes
    transaction completion across all threads.
    
    This commit introduces a local (per-host) barrier that synchronizes
    transaction output across all workers.
    
    There is an alternative approach: allow workers to produce outputs
    at any step, but only handle them in the controller when the transaction
    commits. This may be an even cleaner solution. One advantage of my fix
    is that it allows views that are computed early to produce outputs before
    all other views are fully evaluated in the transaction. Some users rely
    on this behavior. We may want to revise this in the future, but for
    now I wanted to implement the least intrusive fix.
    
    Signed-off-by: Leonid Ryzhyk <ryzhyk@gmail.com>
    ryzhyk committed Jul 15, 2026
    Configuration menu
    Copy the full SHA
    ee7af2a View commit details
    Browse the repository at this point in the history
  3. pipeline-manager: use runtime status details for connector stats

    Instead of the manager polling all pipelines every GET request for its
    list when using the `status_with_connectors` selector, instead
    incorporate the connector stats into the runtime status details. The
    details are regularly updated by the runner as it does its `/status`
    checks. As such, it will take some time for the latest connector stats
    to show up after this change (approximately between 1-15 seconds). At
    the cost of this slight staleness, the latency of the GET request for
    the list of pipelines with that selector will be significantly reduced
    (up to 10x faster is observed).
    
    `StorageStatusDetails` is now the type shown in the API for the
    `storage_status_details`, instead of the generic JSON value type.
    The same for `RuntimeStatusDetails`.
    
    Backward incompatibility notes:
    - Pipelines of older versions will continue to have their connector
      stats shown as before. After the user base has migrated past this
      change, the GET request fetching fallback can be removed.
    - Runtime status details were directly used for the approval diff. Now,
      if this is present (during the `AwaitingApproval` runtime status), it
      is located at: `deployment_runtime_status_details.approval_diff`.
      The API converts automatically the old JSON values into the JSON
      matching the strongly typed `RuntimeStatusDetails`.
    
    The Web Console and `fda` clients are adjusted to read the approval diff
    from the new nested location.
    
    Co-authored-by: Karakatiza666 <bulakh.96@gmail.com>
    Signed-off-by: Karakatiza666 <bulakh.96@gmail.com>
    Signed-off-by: Simon Kassing <simon.kassing@feldera.com>
    snkas and Karakatiza666 committed Jul 15, 2026
    Configuration menu
    Copy the full SHA
    9751923 View commit details
    Browse the repository at this point in the history
Loading