Plumb DLM error store through to DlmFrozenTransition classes#145243
Plumb DLM error store through to DlmFrozenTransition classes#145243dakrone merged 3 commits intoelastic:mainfrom
Conversation
This moves the DLM error store to be part of the `PluginServices`, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within the `DlmFrozenTransitionExecutor` to handle uncaught exceptions currently. Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself.
|
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (23)
📝 WalkthroughWalkthroughThe ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
lukewhiting
left a comment
There was a problem hiding this comment.
A couple of very minor comments but nothing to block over :-) Thanks for taking this on!
| import org.apache.logging.log4j.Logger; | ||
| import org.apache.logging.log4j.message.Message; |
There was a problem hiding this comment.
Should these use the ES wrapper's instead?
There was a problem hiding this comment.
It would be nice if they did, but apparently the error store uses bits of the logger that our log manager does not support, so for now they have to remain using the log4j one.
| indexName, | ||
| ex, | ||
| Strings.format("Error executing transition for index [%s]", indexName), | ||
| 1 |
There was a problem hiding this comment.
Do we want all errors logged at WARN or can we go with the same value as DATA_STREAM_SIGNALLING_ERROR_RETRY_INTERVAL_SETTING and stick to every 10th?
There was a problem hiding this comment.
I was matching the behavior for now, I think we need to know whether we want this to be the one-stop-shop for error handling (in which case, we'll need to move that setting into core and add code to make it dynamic here) or whether we want to do more error handling in the converter. Let's discuss it.
…rics
* upstream/main: (21 commits)
Mute org.elasticsearch.xpack.esql.qa.mixed.MixedClusterEsqlSpecIT test {csv-spec:external-basic.topSnippetsFunction} elastic#145353
Mute org.elasticsearch.xpack.esql.qa.mixed.MixedClusterEsqlSpecIT test {csv-spec:external-basic.scoreFunction} elastic#145352
[DiskBBQ] Fix bug in NeighborQueue#popRawAndAddRaw (elastic#145324)
Fix dense_vector default index options when using BFLOAT16 (elastic#145202)
Use checked exceptions in entitlement constructor rules (elastic#145234)
ESQL: DS: datasource file plugins should not return TEXT types (elastic#145334)
Plumb DLM error store through to DlmFrozenTransition classes (elastic#145243)
Make Settings.Builder.remove() fluent (elastic#145294)
Add FLS tests for METRICS_INFO and TS_INFO (elastic#145211)
Fix flaky SecurityFeatureResetTests (elastic#145063)
[DOCS] Fix conflict markers in ESQL processing command list (elastic#145338)
Skip certain metric assertions on Windows (elastic#144933)
[ES|QL] Add schema reconciliation for multi-file external sources (elastic#145220)
Simplify DiskBBQ dynamic visit ratio to linear (elastic#142784)
ESQL: Disallow unmapped_fields=load with partial non-KEYWORD (elastic#144109)
[Transform] Track Linked Projects (elastic#144399)
Fix bulk scoring to process last batch instead of falling through to scalar tail (elastic#145316)
Clean up TickerScheduleEngineTests (elastic#145303)
[CI] ShardBulkInferenceActionFilterIT testRestart - Ensuring that secrets-inference index is available after full restart and unmuting test (elastic#145317)
Add CRUD doc to the DistributedArchitectureGuide (elastic#144710)
...
…#145243) * Plumb DLM error store through to DlmFrozenTransition classes This moves the DLM error store to be part of the `PluginServices`, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within the `DlmFrozenTransitionExecutor` to handle uncaught exceptions currently. Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself. # Conflicts: # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMConvertToFrozen.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionExecutor.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionPlugin.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionService.java # x-pack/plugin/dlm-frozen-transition/src/test/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionExecutorTests.java
…#145243) * Plumb DLM error store through to DlmFrozenTransition classes This moves the DLM error store to be part of the `PluginServices`, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within the `DlmFrozenTransitionExecutor` to handle uncaught exceptions currently. Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself. # Conflicts: # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMConvertToFrozen.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionExecutor.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionPlugin.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionService.java # x-pack/plugin/dlm-frozen-transition/src/test/java/org/elasticsearch/xpack/dlm/frozen/DLMFrozenTransitionExecutorTests.java # Conflicts: # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DataStreamLifecycleConvertToFrozen.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DlmFrozenTransitionExecutor.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DlmFrozenTransitionPlugin.java # x-pack/plugin/dlm-frozen-transition/src/main/java/org/elasticsearch/xpack/dlm/frozen/DlmFrozenTransitionService.java # x-pack/plugin/dlm-frozen-transition/src/test/java/org/elasticsearch/xpack/dlm/frozen/DlmFrozenTransitionExecutorTests.java
This moves the `DATA_STREAM_SIGNALLING_ERROR_RETRY_INTERVAL_SETTING` setting into the core module so that it can be used by both the regular DLM service and the frozen conversion bits to set up the retry interval in the DLM error store. Relates to elastic#145243
…#145243) * Plumb DLM error store through to DlmFrozenTransition classes This moves the DLM error store to be part of the `PluginServices`, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within the `DlmFrozenTransitionExecutor` to handle uncaught exceptions currently. Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself.
* Move DLM signalling error retry setting into core This moves the `DATA_STREAM_SIGNALLING_ERROR_RETRY_INTERVAL_SETTING` setting into the core module so that it can be used by both the regular DLM service and the frozen conversion bits to set up the retry interval in the DLM error store. Relates to #145243
…#145243) * Plumb DLM error store through to DlmFrozenTransition classes This moves the DLM error store to be part of the `PluginServices`, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within the `DlmFrozenTransitionExecutor` to handle uncaught exceptions currently. Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself.
* Move DLM signalling error retry setting into core This moves the `DATA_STREAM_SIGNALLING_ERROR_RETRY_INTERVAL_SETTING` setting into the core module so that it can be used by both the regular DLM service and the frozen conversion bits to set up the retry interval in the DLM error store. Relates to elastic#145243
This moves the DLM error store to be part of the
PluginServices, which allows us to share the same instance between the core and x-pack versions of the DLM code. It is used within theDlmFrozenTransitionExecutorto handle uncaught exceptions currently.Subsequent work will add this to the actual conversion task, so that errors can be recorded from the task itself.