Commit Graph

767 Commits

Author SHA1 Message Date
matt 6fcd064414 fix: statement timeout (#2774) 2026-01-11 11:43:40 -05:00
Michał Kostrzewa a19a5b8ed5 fix: actually reconnect to postgres if conn fails. (#2772)
Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2026-01-10 17:28:37 -05:00
matt 09dd9dfbf7 fix: worker id (#2773) 2026-01-10 16:59:44 -05:00
matt 73229b0e21 Feat: Run detail getter on the engine (#2725)
* feat: initial rpc

* chore: gen python

* feat: add more fields

* chore: gen again

* fix: finish cleaning up python

* feat: start wiring up api

* fix: panic

* feat: start implementing getters

* fix: improve api

* feat: expand return type a bit

* feat: more wiring

* feat: more wiring

* fix: finish wiring up input reads

* fix: admin client cleanup

* fix: ordering

* fix: add all_finished param

* feat: wire up all finished

* fix: propagate allfinished

* fix: propagate external ids

* chore: gen protos again

* fix: one more thing

* chore: rename

* chore: rename

* chore: fix typing

* fix: cleanup

* feat: add queued default

* fix: wiring

* feat: running check

* fix: query

* chore: rm print

* fix: edge case handling

* feat: python test

* feat: add `done` field

* feat: pass `done` through

* fix: test done flag

* fix: cleanup

* fix: handle cancelled

* refactor: clean up implementations of status handling

* fix: feedback

* fix: done logic

* fix: export run status

* fix: couple small bugs

* fix: handle done

* fix: properly extract input

* fix: bug with sequential dags

* refactor: improve performance of lookup query slightly

* refactor: add helpers on V1StepRunData for getting input + parsing bytes

* refactor: create listutils internal package

* refactor: status derivation

* fix: rm unused method

* fix: sqlcv1 import

* fix: error log

* fix: 404 on not found

* feat: changelog, async method
2026-01-08 12:44:01 -05:00
abelanger5 32188b5a85 fix: better error on deprecated endpoints (#2763) 2026-01-08 11:32:14 -05:00
matt 479aaa9d2f fix: un-hard-code location (#2760) 2026-01-07 18:01:40 -05:00
matt b3f92ef597 fix: payload location issue (#2759) 2026-01-07 17:17:40 -05:00
matt cce3ab5e7c Fix: Child runs counts missing filter (#2744)
* fix: propagate parent external id through to count query

* chore: remove duplicate olap overwrite sql
2026-01-07 14:19:29 -05:00
abelanger5 6920ec1b61 revert: UI version removal (#2756)
* revert: UI version removal

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-06 14:16:42 -05:00
Andrei Gaspar 4dda2b2884 Send create:user Event from OAuth Flow (#2683)
* feat: Send create:user event from OAuth flow

* feat: Implement user and tenant creation events in callbacks

* move callback into cb.Do

---------

Co-authored-by: Alexander Belanger <alexander@hatchet.run>
2026-01-06 14:06:38 -05:00
Mohammed Nafees 7d662d42a4 use try advisory for replat tasks (#2755) 2026-01-06 17:16:06 +01:00
abelanger5 1f2dd277e7 refactor: set a connection-level statement timeout (#2750)
* refactor: set a connection-level statement timeout

* reset to 30 seconds instead of 0

* remove comment

* use connections with larger statement timeouts for certain queries
2026-01-05 20:20:09 -05:00
abelanger5 9f463e92d6 refactor: move v1 packages, remove webhook worker references (#2749)
* chore: move v1 packages, remove webhook worker references

* chore: move msgqueue

* fix: relative paths in sqlc.yaml
2026-01-02 11:42:40 -05:00
abelanger5 f24c34ccfb chore: clean up buffer config and remove package (#2748)
* chore: clean up config options

* update docs
2026-01-02 11:42:29 -05:00
abelanger5 f82d3bd071 refactor: consolidate repository methods (#2730)
* refactor: remove v0 paths from codebase

* remove uiVersion references

* refactor: remove v0-exclusive database queries

* remove webhook test

* chore: move api token repository

* chore: move dispatcher repository to v1

* chore: move health repository to v1

* chore: remove event repository

* remove some unused repositories

* chore: move mq implementation to v1

* chore: consolidate rate limit implementations

* chore: move security check to v1 repository

* chore: move slack to v1 repository

* chore: move sns implementation to v1 repository

* clean up step repository

* chore: move tenant invite to v1 repository

* chore: move limits, workers, tenant alerts to v1 repository

* chore: move user, tenant, userSession to v1 repository

* chore: move ticker to v1 repository

* chore: move scheduled workflows to v1 repository

* chore: remove workflows

* fix: remove pointer for limits config file

* propagate cache value to api token

* propagate cache durations
2025-12-31 16:35:46 -05:00
abelanger5 f57ebf7546 refactor: remove v0-exclusive database queries (#2729)
* refactor: remove v0 paths from codebase

* remove uiVersion references

* refactor: remove v0-exclusive database queries

* remove webhook test
2025-12-31 09:36:12 -05:00
abelanger5 dd9c36c315 refactor: remove v0 paths from codebase (#2728)
* refactor: remove v0 paths from codebase

* remove uiVersion references
2025-12-30 09:57:00 -05:00
matt 31128d53e5 Fix: Goroutine to periodically extend lease during reconciliation (#2722)
* fix: goroutine to extend lease periodically while reconciliation is happening

* fix: use ticker

* fix: one more channel

* fix: naming

* fix: shorten lease duration

* fix: core

* fix: start the job at 7am instead of 7pm
2025-12-26 12:36:21 -07:00
matt 735742c466 Revert "Revert "chore: run list query optimizations (#2670)" (#2708)" (#2720)
This reverts commit 2f301e55cf.
2025-12-26 10:11:02 -07:00
Mohammed Nafees 58758d35b2 Publish COULD_NOT_SEND_TO_WORKER OLAP event due to worker backlog (#2710)
* could not send to worker OLAP event

* fix lint and PR comments

* submodule GHA

* remove submodule

* no gitsubmodule

* fix migration

* revert sdk workflows

* revert sdk workflows

* revert sdk workflows
2025-12-26 09:35:15 -07:00
matt d9a0637537 Fix: Static rate limits resetting to zero (#2714)
* fix: do nothing on negative values

* fix: python sentinel value

* fix: ts sentinel value

* fix: go

* fix: expr

* fix:: ts ordering

* chore: versions
2025-12-26 09:20:17 -07:00
Mohammed Nafees 88e7a60b83 msgqueue msg IDs as constants for ease of navigation and readability (#2692) 2025-12-25 11:56:07 +01:00
matt 2f301e55cf Revert "chore: run list query optimizations (#2670)" (#2708)
This reverts commit 87b57febe8.
2025-12-23 17:10:47 -05:00
matt bb266fddf4 fix: rm cleanup logic for now (#2707) 2025-12-23 15:55:14 -05:00
abelanger5 7ae0d5f86b fix: WithToken should override environment variable (#2706) 2025-12-23 14:50:15 -05:00
matt 6013cadda7 Chore: Remove annoying payload fallback error logs (#2675)
* chore: remove annoying warnings

* fix: re-add dual write thing

* fix: add back fallbacks, only remove logs

* fix: one more
2025-12-23 14:25:33 -05:00
matt b65c6de53f Feat: Hatchet Metrics Monitoring, I (#2699)
* Revert "Revert "Feat: Hatchet Metrics Monitoring, I (#2480)" (#2698)"

This reverts commit b87150767a.

* go mod tidy

---------

Co-authored-by: Mohammed Nafees <hello@mnafees.me>
2025-12-23 20:14:14 +01:00
Gabe Ruttner c4db29cd6b fix move fixture (#2705) 2025-12-23 09:21:41 -08:00
Gabe Ruttner 87b57febe8 chore: run list query optimizations (#2670)
* add missing tenant index

* fix span name

* parallelize

* instrument tenant id attribute

* feedback

* cleanup migrations

* rename migration

* correct version

* cleanup
2025-12-23 08:59:13 -08:00
Gabe Ruttner 51464917f7 Feat: bulk management schedules (#2687)
* fix: filter + pagination state handling hack

* fix: use location.pathname

* update to go 1.25

* fix: add version to sdk-go.yml

* schedule run bulk actions

* lint

* typescript

* python

* lint

* docs

* lint docs

* lint

* feedback

* fix lint

* rm unused chunk

* rm statues

* i dont understand python linting sometimes

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
Co-authored-by: Alexander Belanger <alexander@hatchet.run>
2025-12-23 07:44:12 -08:00
matt bc7f341d13 Fix: Dynamically-sized chunks on payload read (#2700)
* feat: function for pulling chunk size in bytes

* chore: schema

* feat: queries

* chore: rework function

* feat: impl

* fix: ptr

* fix: ptr

* feat: olap side

* fix: handle nulls
2025-12-22 18:28:04 -05:00
matt 74404b9efa fix: table name (#2697) 2025-12-22 16:26:23 -05:00
matt b87150767a Revert "Feat: Hatchet Metrics Monitoring, I (#2480)" (#2698)
This reverts commit fdc075ec6f.
2025-12-22 16:26:14 -05:00
matt fdc075ec6f Feat: Hatchet Metrics Monitoring, I (#2480)
* feat: queries + task methods for oldest running task and oldest task

* feat: worker slot and sdk metrics

* feat: wal metrics

* repository stub

* feat: add meter provider thingy

* pg queries

* fix: add task

* feat: repo methods for worker metrics

* feat: active workers query, fix where clauses

* fix: aliasing

* fix: sql, cleanup

* chore: cast

* feat: olap queries

* feat: olap queries

* feat: finish wiring up olap status update metrics

* chore: lint

* chore: lint

* fix: dupes, other code review comments

* send metrics to OTel collector

* last autovac

* flag

* logging updates

* address PR comments

---------

Co-authored-by: gabriel ruttner <gabriel.ruttner@gmail.com>
Co-authored-by: Mohammed Nafees <hello@mnafees.me>
2025-12-23 01:04:02 +05:30
matt a4e7584c18 Fix: Last bits of payload job cleanup (#2690)
* feat: offset cleanup queries

* feat: wire it up

* fix: extend lease interval

* feat: new function for diffing rows

* feat: queries

* fix: signature, start wiring up

* feat: wire up diffing logic at the end

* chore: longer lease

* chore: fix type

* fix: couple bugs

* fix: columns

* fix: dupe

* chore: rm unused function

* fix: err

* fix: reduce memory footprint by a bunch
2025-12-22 12:43:08 -05:00
abelanger5 fe6583fc41 fix: rare cases of duplicate writes causing stuck updates (#2681)
* fix: rare cases of duplicate writes causing stuck updates

* update to go 1.25

* fix: add version to sdk-go.yml
2025-12-18 13:05:01 -05:00
matt 2226a3eaa4 Chore: Remove payload WAL + corresponding tables 🥳 (#2645)
* chore: nuke the wal and cutover qi tables

* fix: migration name
2025-12-17 11:27:59 -05:00
matt bb9f9e2609 Feat: New event getter + janky v0 fix (#2667)
* feat: v1 event get api

* feat: initial api work

* refactor: clean up existing impl

* chore: gen python

* feat: event get on the events client

* fix: order

* chore: another handler

* chore: new populator hack

* fix: populator

* chore: gen

* chore: version
2025-12-17 11:21:59 -05:00
matt bf849d415c Fix: Payload List Index Performance (#2669)
* feat: update core func

* feat: migration to update function

* fix: pass batch size through

* fix: limit

* feat: materialized cte

* chore: comment
2025-12-16 12:35:29 -05:00
matt 23db2a4fac Fix: Pagination by bounds (#2654)
* fix: pagination missing rows

* fix: separate functions

* fix: return both bounds from query

* fix: wiring

* fix: func

* fix: order col

* fix: bug

* fix: math is hard

* fix: more math

* fix: math and math and math

* fix: slightly more math

* fix: placeholders 🤦

* fix: where clause

* fix: math!

* fix: schema

* refactor: try with `CEIL`

* fix: mathin up a storm

* fix: I was actually a math major in college, who knew

* fix: copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-15 13:07:51 -05:00
matt b131ec94cd Refactor: Write to S3 outside of goroutine (#2646)
* feat: refactor olap job

* fix: core

* fix: bug
2025-12-11 18:37:50 -05:00
matt ba4b097bbc Fix: OLAP Immediate Offloads (#2644)
* fix: only offload immediately if flag is set

* fix: offload directly
2025-12-11 10:13:36 -05:00
matt 3a94d06bc6 Feat: Add oldest queued + running jobs to task stats (#2638)
* feat: add oldest item in task stat

* feat: extend query

* feat: api wiring

* fix: where we compute this

* chore: gen sdk

* chore: changelog, version
2025-12-11 09:54:12 -05:00
matt 0a947924fa Feat: Parallelize replication from PG -> External (#2637)
* feat: chunking query

* feat: first pass at range chunking

* fix: bug bashing

* fix: function geq

* fix: use maps.Copy

* fix: olap func

* feat: olap side

* refactor: external id

* fix: order by

* feat: wire up env vars

* fix: pass var through

* fix: naming

* fix: append to returnErr properly

* fix: use eg.Go
2025-12-10 17:11:03 -05:00
matt fe1bf7d356 Fix: Global Lease for OLAP (#2635)
* feat: global lease

* fix: null handling

* fix: core db

* feat: add some more spans
2025-12-10 13:01:58 -05:00
matt eac6904fb6 fix: query logic bug (#2631) 2025-12-09 21:08:11 -05:00
matt 3ff672ebe4 Fix: Don't reset offset if a new process acquires lease (#2628)
* fix: don't reset offset if a new process acquires the lease

* fix: copy paste

* feat: migration, fix queries

* fix: more queries

* fix: down migration

* fix: comment

* feat: finish wiring up everything else

* fix: placeholder initial type

* fix: zero values everywhere

* fix: param ordering

* fix: handle no rows

* fix: zero values

* fix: limit

* fix: simplify

* fix: better defaults
2025-12-09 19:01:51 -05:00
matt 9e14814acb Feat: OLAP Payload Cutover Job (#2618)
* feat: migration

* feat: queries

* feat: overwrite queries

* fix: bug

* feat: first pass

* fix: more olap job wiring

* fix: signature

* fix: refs to a bunch of funcs

* feat: job

* fix: table names

* fix: span name

* chore: lint

* fix: redundant error check

* fix: naming

* fix: handle nil external id

* fix: order payload partitions descending

* fix: param for limiting which partitions get processed

* fix: olap
2025-12-09 12:33:07 -05:00
matt 35d1cff963 refactor: simplify external store signature (#2616) 2025-12-08 14:53:52 -05:00
matt bede3efe0d Feat: Process all old partitions in a loop (#2613)
* feat: process old partitions in a loop

* fix: param

* fix: query return

* feat: add spans

* fix: naming
2025-12-08 11:00:24 -05:00