David Morávek created FLINK-23908: ------------------------------------- Summary: Hint user about possibly non-deterministic key Key: FLINK-23908 URL: https://issues.apache.org/jira/browse/FLINK-23908 Project: Flink Issue Type: Sub-task Reporter: David Morávek Assignee: David Morávek Fix For: 1.14.0
If user has non-deterministic hashCode and equals implementation, he ends up with "confusing" (if you don't now details about Flink internals) exception. RocksDBStateBackend: {code} Caused by: java.lang.IllegalArgumentException: Key group 0 is not in KeyGroupRange{startKeyGroup=32, endKeyGroup=63}. at org.apache.flink.runtime.state.KeyGroupRangeOffsets.computeKeyGroupIndex(KeyGroupRangeOffsets.java:142) at org.apache.flink.runtime.state.KeyGroupRangeOffsets.setKeyGroupOffset(KeyGroupRangeOffsets.java:104) at org.apache.flink.contrib.streaming.state.snapshot.RocksFullSnapshotStrategy$SnapshotAsynchronousPartCallable.writeKVStateData(RocksFullSnapshotStrategy.java:319) at org.apache.flink.contrib.streaming.state.snapshot.RocksFullSnapshotStrategy$SnapshotAsynchronousPartCallable.writeSnapshotToOutputStream(RocksFullSnapshotStrategy.java:261) {code} HeapStateBackend: {code} 2021-08-16 16:28:54 java.lang.NullPointerException: null 2021-08-16 16:28:54 at org.apache.flink.runtime.state.heap.StateTable.put(StateTable.java:351) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.runtime.state.heap.StateTable.put(StateTable.java:159) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.runtime.state.heap.HeapListState.add(HeapListState.java:98) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator.processElement(WindowOperator.java:422) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:191) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.processElement(StreamTaskNetworkInput.java:204) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.emitNext(StreamTaskNetworkInput.java:174) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:396) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:191) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:617) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:581) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:755) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at org.apache.flink.runtime.taskmanager.Task.run(Task.java:570) ~[flink-dist_2.11-1.12.3.jar:1.12.3] 2021-08-16 16:28:54 at java.lang.Thread.run(Unknown Source) ~[?:?] {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)