druid/docs/multi-stage-query
Abhishek Radhakrishnan 9c7d7fc777
Allow empty inserts and replaces in MSQ. (#15495)
* Allow empty inserts and replace.

- Introduce a new query context failOnEmptyInsert which defaults to false.
- When this context is false (default), MSQE will now allow empty inserts and replaces.
- When this context is true, MSQE will throw the existing InsertCannotBeEmpty MSQ fault.
- For REPLACE ALL over an ALL grain segment, the query will generate a tombstone spanning eternity
which will be removed eventually be the coordinator.
- Add unit tests in MSQInsertTest, MSQReplaceTest to test the new default behavior (i.e., when failOnEmptyInsert = false)
- Update unit tests in MSQFaultsTest to test the non-default behavior (i.e., when failOnEmptyInsert = true)

* Ignore test to see if it's the culprit for OOM

* Add heap dump config

* Bump up -Xmx from 1500 MB to 2048 MB

* Add steps to tarball and collect hprof dump to GHA action

* put back mx to 1500MB to trigger the failure

* add the step to reusable unit test workflow as well

* Revert the temp heap dump & @Ignore changes since max heap size is increased

* Minor updates

* Review comments

1. Doc suggestions
2. Add tests for empty insert and replace queries with ALL grain and limit in the
   default failOnEmptyInsert mode (=false). Add similar tests to MSQFaultsTest with
   failOnEmptyInsert = true, so the query does fail with an InsertCannotBeEmpty fault.
3. Nullable annotation and javadocs

* Add comment
	replace_limit.patch
2024-01-02 13:05:51 -08:00
..
concepts.md explicit outputType for ExpressionPostAggregator, better documentation for the differences between arrays and mvds (#15245) 2023-11-02 00:31:37 -07:00
examples.md explicit outputType for ExpressionPostAggregator, better documentation for the differences between arrays and mvds (#15245) 2023-11-02 00:31:37 -07:00
index.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
known-issues.md Doc fixes for query from deep storage and MSQ (#15313) 2023-11-03 10:52:20 +05:30
reference.md Allow empty inserts and replaces in MSQ. (#15495) 2024-01-02 13:05:51 -08:00
security.md docs: durable storage azure cleanup (#15120) 2023-10-31 15:20:38 -07:00