-
Notifications
You must be signed in to change notification settings - Fork 606
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
Cannot update from a previous version to current snapshot #17229
Comments
Some hints for reproducing this:
Assuming ES is running on localhost:9200 Using the Makefile and Docker Compose, I made these changes:
|
Here is how I tested the update scenario locally: I built an Operate Docker image from the current branch by running I declared Operate in the Docker compose file as follows:
I added a volume declaration to the Zeebe and Elasticsearch containers as described in my previous comment. Then:
|
… altered by data inserts (#17241) ## Description <!-- Please explain the changes you made here. --> - IndexMapping creation is deferred to a builder. In the future this can be moved completely into a factory or other separate component for abstraction. - Added "dynamic" field to IndexMapping required to determine if an index is dynamic or strict - Added logic to not ignore "changed" fields (existing fields that have properties added or changed) when either the template or existing schema is dynamic. New fields will still be processed. The criteria for whether an index is dynamic is by looking at the "dynamic" field of the index mapping for a value of "true" or if the "dynamic" field is not present. Any other values for "dynamic" will be interpreted as false, this can be expanded on later as needed. See: https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic.html#dynamic-parameters for possible values - Added integration tests to simulate error condition on startup when data was added to a dynamic index and created new subfields ## Related issues <!-- Which issues are closed by this PR or are related --> closes #17229 <!-- Cut-off marker _All lines under and including the cut-off marker will be removed from the merge commit message_ ## Definition of Ready Please check the items that apply, before requesting a review. You can find more details about these items in our wiki page about [Pull Requests and Code Reviews](https://github.com/camunda/zeebe/wiki/Pull-Requests-and-Code-Reviews). * [ ] I've reviewed my own code * [ ] I've written a clear changelist description * [ ] I've narrowly scoped my changes * [ ] I've separated structural from behavioural changes --> ## Definition of Done <!-- Please check the items that apply, before merging or (if possible) before requesting a review. --> _Not all items need to be done depending on the issue and the pull request._ Code changes: * [ ] The changes are backwards compatibility with previous versions * [ ] If it fixes a bug then PRs are created to [backport](https://github.com/camunda/zeebe/compare/stable/0.24...main?expand=1&template=backport_template.md&title=[Backport%200.24]) the fix to the last two minor versions. You can trigger a backport by assigning labels (e.g. `backport stable/1.3`) to the PR, in case that fails you need to create backports manually. Testing: * [ ] There are unit/integration tests that verify all acceptance criterias of the issue * [ ] New tests are written to ensure backwards compatibility with further versions * [ ] The behavior is tested manually * [ ] The change has been verified by a QA run * [ ] The impact of the changes is verified by a benchmark Documentation: * [ ] The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.) * [ ] If the PR changes how BPMN processes are validated (e.g. support new BPMN element) then the Camunda modeling team should be informed to adjust the BPMN linting. Other teams: If the change impacts another team an issue has been created for this team, explaining what they need to do to support this change. - [ ] [Tasklist](https://github.com/camunda/tasklist/issues) - [ ] [Web Modeler](https://github.com/camunda/web-modeler/issues) - [ ] [Desktop Modeler](https://github.com/camunda/camunda-modeler/issues) - [ ] [Optimize](https://github.com/camunda/camunda-optimize/issues) Please refer to our [review guidelines](https://github.com/camunda/zeebe/wiki/Pull-Requests-and-Code-Reviews#code-review-guidelines).
Describe the bug
To Reproduce
Steps to reproduce the behavior:
camunda.operate.persistentSessionsEnabled
totrue
, or use the corresponding environment variable)Alternative: the same should work with a current snapshot and restarting Operate. It doesn't matter if this is a true version update.
Current behavior
Expected behavior
Environment
Additional context
This behavior was introduced with https://github.com/camunda/operate/issues/6483
Suspected root causes:
"dynamic": true
in its schema definition. This means that the schema is extended as documents are inserted, depending on which fields they defineattributes
property, this usually contains multiple fields that are written to the index and thus change the schema (see the stack trace)Solution options:
Acceptance Criteria
Definition of Ready - Checklist
Bug-area
labelFor UI changes required to solve the bug:
Implementation
🔍 Root Cause Analysis
💭 Proposed Solution
👉 Handover Dev to QA
BPMN/DMN models, plugins, scripts, REST API endpoints + example payload, etc :
📗 Link to the test case
The text was updated successfully, but these errors were encountered: