-
Notifications
You must be signed in to change notification settings - Fork 3
#738 Add executions - the pipeline level journal table
#741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b7ab55f
5cb1bb9
9e3cb5f
4cd8df7
3f4a463
8a68976
0e4acfe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -792,20 +792,20 @@ object BookkeeperDynamoDb { | |
| val DEFAULT_TABLE_PREFIX = "pramen" | ||
|
|
||
| // Attribute names for bookkeeping table | ||
| val ATTR_TABLE_NAME = "tableName" | ||
| val ATTR_INFO_DATE = "infoDate" | ||
| val ATTR_INFO_DATE_SORT_KEY = "infoDateSortKey" // Composite: "infoDate#jobFinished" | ||
| val ATTR_INFO_DATE_BEGIN = "infoDateBegin" | ||
| val ATTR_INFO_DATE_END = "infoDateEnd" | ||
| val ATTR_INPUT_RECORD_COUNT = "inputRecordCount" | ||
| val ATTR_OUTPUT_RECORD_COUNT = "outputRecordCount" | ||
| val ATTR_JOB_STARTED = "jobStarted" | ||
| val ATTR_JOB_FINISHED = "jobFinished" | ||
| val ATTR_BATCH_ID = "batchId" | ||
| val ATTR_APPENDED_RECORD_COUNT = "appendedRecordCount" | ||
| val ATTR_TABLE_NAME = "table_name" | ||
| val ATTR_INFO_DATE = "info_date" | ||
| val ATTR_INFO_DATE_SORT_KEY = "info_date_sort_key" // Composite: "infoDate#jobFinished" | ||
| val ATTR_INFO_DATE_BEGIN = "info_date_begin" | ||
| val ATTR_INFO_DATE_END = "info_date_end" | ||
| val ATTR_INPUT_RECORD_COUNT = "input_record_count" | ||
| val ATTR_OUTPUT_RECORD_COUNT = "output_record_count" | ||
| val ATTR_JOB_STARTED = "job_started" | ||
| val ATTR_JOB_FINISHED = "job_finished" | ||
| val ATTR_BATCH_ID = "batch_id" | ||
| val ATTR_APPENDED_RECORD_COUNT = "appended_record_count" | ||
|
|
||
| // Attribute names for schema table | ||
| val ATTR_SCHEMA_JSON = "schemaJson" | ||
| val ATTR_SCHEMA_JSON = "schema_json" | ||
|
|
||
|
Comment on lines
+795
to
809
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Attribute-key rename can break existing bookkeeping/schema DynamoDB tables. These constant changes alter key and field names used in all query/update paths. Existing tables created with legacy attribute names won’t match new key-condition expressions, causing runtime failures unless a migration/compatibility layer is added. 🤖 Prompt for AI Agents |
||
| val MODEL_VERSION = 1 | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -555,15 +555,15 @@ object OffsetManagerDynamoDb { | |
| val DEFAULT_TABLE_PREFIX = "pramen" | ||
|
|
||
| // Attribute names for offset table | ||
| val ATTR_PRAMEN_TABLE_NAME = "pramenTableName" | ||
| val ATTR_COMPOSITE_KEY = "compositeKey" // Format: "infoDate#createdAtMilli" | ||
| val ATTR_INFO_DATE = "infoDate" | ||
| val ATTR_DATA_TYPE = "dataType" | ||
| val ATTR_MIN_OFFSET = "minOffset" | ||
| val ATTR_MAX_OFFSET = "maxOffset" | ||
| val ATTR_BATCH_ID = "batchId" | ||
| val ATTR_CREATED_AT = "createdAt" | ||
| val ATTR_COMMITTED_AT = "committedAt" | ||
| val ATTR_PRAMEN_TABLE_NAME = "pramen_table_name" | ||
| val ATTR_COMPOSITE_KEY = "composite_key" // Format: "infoDate#createdAtMilli" | ||
| val ATTR_INFO_DATE = "info_date" | ||
| val ATTR_DATA_TYPE = "data_type" | ||
| val ATTR_MIN_OFFSET = "min_offset" | ||
| val ATTR_MAX_OFFSET = "max_offset" | ||
| val ATTR_BATCH_ID = "batch_id" | ||
| val ATTR_CREATED_AT = "created_at" | ||
| val ATTR_COMMITTED_AT = "committed_at" | ||
|
Comment on lines
+558
to
+566
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Snake_case key rename can break existing offset tables at runtime. Line 558 and Line 559 change the partition/sort key attribute names. For already-provisioned tables using legacy keys, DynamoDB key-condition validation will fail because this code now queries with different key names and does not migrate/recreate existing tables. 🤖 Prompt for AI Agents |
||
|
|
||
| /** | ||
| * Builder for creating OffsetManagerDynamoDb instances. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: AbsaOSS/pramen
Length of output: 1268
🏁 Script executed:
Repository: AbsaOSS/pramen
Length of output: 4707
🏁 Script executed:
Repository: AbsaOSS/pramen
Length of output: 1134
All in-repo implementers properly updated; verify breaking change is documented as intentional.
Adding abstract methods to a public trait is binary-incompatible for external implementers. Both
PramenImplandDummyPramenare already updated with implementations, confirming this is an intentional coordinated change. Ensure the breaking change is clearly documented in release notes and consider explicitly bumping the major version (currently1.13.11-SNAPSHOT) or adding migration guidance if external users rely on this API.🤖 Prompt for AI Agents