Hi, getting java.lang.IllegalArgumentException: Key group 39 is not in KeyGroupRange{startKeyGroup=96, endKeyGroup=103}. Unless you're directly using low level state access APIs, this is most likely caused by non-deterministic shuffle key (hashCode and equals implementation).
This is my class, is my hashCode deterministic? public final class MyEventCountKey { private final String countDateTime; private final String domain; private final String event; public MyEventCountKey(final String countDateTime, final String domain, final String event) { this.countDateTime = countDateTime; this.domain = domain; this.event = event; } public String getCountDateTime() { return countDateTime; } public String getDomain() { return domain; } public String getEven() { return event; } @Override public String toString() { return countDateTime + "|" + domain + "|" + event; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MyEventCountKey that = (MyEventCountKey) o; return countDateTime.equals(that.countDateTime) && domain.equals(that.domain) && event.equals(that.event); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + countDateTime.hashCode(); result = prime * result + domain.hashCode(); result = prime * result + event.hashCode(); return result; } }