mirror of https://github.com/apache/druid.git
9c7d7fc777
* 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 |
||
---|---|---|
.. | ||
src | ||
pom.xml |