Thread sleeping is a bit of a rouge way of testing, but I see your point...

I am starting to think we should see how much it costs to swap the lock for
a fair lock after 0.10 and, if it costs not too much, switch that for 1.0
...

Stephan


On Wed, Oct 21, 2015 at 2:01 PM, Gyula Fóra <gyula.f...@gmail.com> wrote:

> Thanks!
> I am personally using Thread.sleep() a lot for flow control in my test
> topologies, this might only be me, but it seems to be a pretty annoying
> thing when you want to test your streaming jobs.
>
> Stephan Ewen <se...@apache.org> ezt írta (időpont: 2015. okt. 21., Sze,
> 13:59):
>
> > Hey!
> >
> > The issue is that checkpoints can only happen in between elements being
> in
> > the pipeline. You block the pipeline in the sleep() call.
> > Since the checkpoint lock is not fair, the few cycles that the source
> > releases the lock are not enough for the checkpointer to acquire it.
> >
> > I wonder if this is an artificial corner case, or actually an issue. The
> > solution is theoretically simple: Use a fair lock, but we would need to
> > break the data sources API and switch from "synchronized(Object)" to a
> fair
> > "java.concurrent.ReentrantLock".
> >
> > Greetings,
> > Stephan
> >
> >
> > On Wed, Oct 21, 2015 at 1:47 PM, Gyula Fóra <gyula.f...@gmail.com>
> wrote:
> >
> > > Hey All,
> > >
> > > I think there is some serious issue with the checkpoints. Running a
> > simple
> > > program like this won't complete any checkpoints:
> > >
> > > StreamExecutionEnvironment env =
> > > StreamExecutionEnvironment.getExecutionEnvironment();
> > > env.setParallelism(2);
> > > env.enableCheckpointing(5000);
> > >
> > > env.generateSequence(1, 100).map(t -> { Thread.sleep(1000); return t;
> })
> > > .map(t -> t).print();
> > > env.execute();
> > >
> > > The job will start executing and triggering checkpoints but the the
> > > triggerCheckpoint method of the StreamTask will be stuck waiting for
> the
> > > checkpoint lock. It will never take a snapshot...
> > >
> > > Any ideas?
> > > This happens on any parallelism, and for other sources as well.
> > >
> > > Cheers,
> > > Gyula
> > >
> >
>

Reply via email to