Perfect, thanks!

On Thu, Jan 5, 2017 at 2:26 PM Brandon Williams <dri...@gmail.com> wrote:

> We don't bind thrift/CQL until bootstrap is complete, so that's not
> possible.  But, if you want to be sure, you can check
> StorageService.isRPCServerRunning and isNativeTransportRunning.
>
> On Thu, Jan 5, 2017 at 3:17 PM, Eric Stevens <migh...@gmail.com> wrote:
>
> > Thanks for the quick response.
> >
> > Looking at it, I'm not sure if it's quite the right thing for me.  Maybe
> I
> > used the wrong terminology; it actually doesn't matter if the node is
> still
> > bootstrapping, as long as it could query other nodes in the cluster.
> >
> > On Thu, Jan 5, 2017 at 1:03 PM Brandon Williams <dri...@gmail.com>
> wrote:
> >
> > > Probably want to do something like SystemKeyspace.bootstrapComplete()
> > >
> > > On Thu, Jan 5, 2017 at 1:58 PM, Eric Stevens <migh...@gmail.com>
> wrote:
> > >
> > > > I'm working on a bug report in my Deleting Compaction Strategy
> project.
> > > >
> > > > Some of the provided deletion strategies allow for a series of
> deletion
> > > > rules to be added to a CQL table, before compaction begins, a
> snapshot
> > of
> > > > the current rules are read out of the CQL table and a deletion plan
> is
> > > > produced that applies for the life of that compaction.
> > > >
> > > > The bug report (at
> > > https://github.com/protectwise/cassandra-util/issues/2)
> > > > is that if compaction begins while a node is first starting up,
> before
> > it
> > > > has joined the ring, the attempt to read the rules will fail with an
> > > > AssertionError (it's an attempt to call QueryProcessor.process at
> local
> > > > quorum before the node has joined the ring).
> > > >
> > > > My question is, how can I detect when a node has fully joined the
> ring,
> > > and
> > > > it's safe to call QueryProcessor.process without just trying,
> failing,
> > > and
> > > > catching (and even then how would I know that it's because the node
> is
> > > > still starting up vs some other source of problems)?  I had thought
> > that
> > > > something might set a flag during the startup process to indicate
> that
> > > the
> > > > node thinks it is fully started up, but as far as I see nothing like
> > that
> > > > is tracked.
> > > >
> > > > I took a stab at what this could look like here:
> > > > https://github.com/protectwise/cassandra-util/blob/
> > > > 93dfb02157446e2e37427f1d4846c6039cc97099/deleting-
> > > > compaction-strategy/src/main/java/com/protectwise/
> > > > cassandra/retrospect/deletion/QueryHelper.java#L31-L36
> > > >
> > > > This approach seems cumbersome and fragile, and I feel like I'm
> missing
> > > > something.  How else could I tell whether it's safe to call out to
> > > > QueryProcessor.process yet?
> > > >
> > > > Thanks in advance,
> > > > -e
> > > >
> > >
> >
>

Reply via email to