Will do. On Sun, Jan 14, 2018 at 10:23 AM, Fabian Hueske <fhue...@gmail.com> wrote:
> We don't have a schedule for bugfix releases but do them based on need. > AFAIK, a discussion about a 1.4.1 release has not been started yet. > > Would you like to kick that off by sending a mail to the dev mailing list? > > > 2018-01-12 16:41 GMT+01:00 Vishal Santoshi <vishal.santo...@gmail.com>: > >> Thanks. We will. >> >> When is 1.4.1 scheduled for release ? >> >> On Fri, Jan 12, 2018 at 3:24 AM, Dawid Wysakowicz < >> wysakowicz.da...@gmail.com> wrote: >> >>> Hi Vishal, >>> I think it might be due to this bug: https://issues.apache.org/jira >>> /browse/FLINK-8226 >>> It was merged for 1.4.1 and 1.5.0. Could you check with this changes >>> applied? Would be really helpful. If the error still persists could you >>> file a jira? >>> >>> Regards >>> Dawid >>> >>> > On 11 Jan 2018, at 19:49, Vishal Santoshi <vishal.santo...@gmail.com> >>> wrote: >>> > >>> > When checkpointing is turned on a simple CEP loop pattern >>> > >>> > private Pattern<Tuple2<Integer, SimpleBinaryEvent>, ?> alertPattern = >>> Pattern.<Tuple2<Integer, SimpleBinaryEvent>>begin("star >>> t").where(checkStatusOn) >>> > .followedBy("middle").where(checkStatusOn).times(2) >>> > .next("end").where(checkStatusOn).within(Time.minutes(5)) >>> > >>> > I see failures. >>> > >>> > SimpleBinaryEvent is >>> > >>> > public class SimpleBinaryEvent implements Serializable { >>> > >>> > private int id; >>> > private int sequence; >>> > private boolean status; >>> > private long time; >>> > >>> > public SimpleBinaryEvent(int id, int sequence, boolean status , long >>> time) { >>> > >>> > this.id >>> > = id; >>> > this.sequence = sequence; >>> > this.status = status; >>> > this.time = time; >>> > } >>> > public int getId() { >>> > return id; >>> > } >>> > public int getSequence() { >>> > return sequence; >>> > } >>> > public boolean isStatus() { >>> > return status; >>> > } >>> > public long getTime() { >>> > return time; >>> > } >>> > @Override >>> > public boolean equals(Object o) { >>> > if (this == o) return true; >>> > if (o == null || getClass() != o.getClass()) return false; >>> > >>> > SimpleBinaryEvent that = (SimpleBinaryEvent) o; >>> > >>> > if (getId() != that.getId()) return false; >>> > if (isStatus() != that.isStatus()) return false; >>> > if (getSequence() != that.getSequence()) return false; >>> > return getTime() == that.getTime(); >>> > } >>> > >>> > @Override >>> > public int hashCode() { >>> > //return Objects.hash(getId(),isStatus(), >>> getSequence(),getTime()); >>> > int result = getId(); >>> > result = 31 * result + (isStatus() ? 1 : 0); >>> > result = 31 * result + getSequence(); >>> > result = 31 * result + (int) (getTime() ^ (getTime() >>> 32)); >>> > return result; >>> > } >>> > >>> > @Override >>> > public String toString() { >>> > return "SimpleBinaryEvent{" + >>> > "id='" + id + '\'' + >>> > ", status=" + status + >>> > ", sequence=" + sequence + >>> > ", time=" + time + >>> > '}'; >>> > } >>> > >>> > } >>> > >>> > failure cause: >>> > >>> > Caused by: java.lang.Exception: Could not materialize checkpoint 2 for >>> operator KeyedCEPPatternOperator -> Map (1/1). >>> > ... 6 more >>> > Caused by: java.util.concurrent.ExecutionException: >>> java.lang.IllegalStateException: Could not find id for entry: >>> SharedBufferEntry(ValueTimeWrapper((1,SimpleBinaryEvent{id='1', >>> status=true, sequence=95, time=1505503380000}), 1505503380000, 0),.... >>> > >>> > I am sure I have the equals() and hashCode() implemented the way it >>> should be. I have tried the Objects.hashCode too. In other instances I have >>> had CircularReference ( and thus stackOverflow ) on >>> SharedBuffer.toString(), which again points to issues with references ( >>> equality and what not ). Without checkpointing turned on it works as >>> expected. I am running on a local cluster. Is CEP production ready ? >>> > >>> > I am using 1.3.2 Flink >>> > >>> >>> >> >