Astyanax Thrift Frame Size Hardcoded - Breaks Ring Describe

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Astyanax Thrift Frame Size Hardcoded - Breaks Ring Describe

Eric Stevens
I know this list isn't the right place to discuss driver issues in general, but I thought I'd offer a word of warning to anyone still using Astyanax related to an issue we ran into over the weekend.

Astyanax has a hard coded maximum Thrift frame size.  There is a pull request to expose it to configuration, but it has not been accepted (https://github.com/Netflix/astyanax/pull/547).

The reason why this matters beyond "you're doing reads which are far too large" is that Thrift is used by Astyanax for ring discovery (RING_DESCRIBE), which it may be using under the hood even if you don't think you are (several connection pool types imply RING_DESCRIBE and may override your own alternate configuration).

When you exceed around 64,000 vnodes (250 nodes at 256 vnodes), ring discovery no longer fits in a single Thrift frame.  Even if you increase the maximum frame size in Cassandra, Astyanax will not take advantage of it.  The consequence is that Astyanax will talk only to hosts in the seeds list.  I've opened issue https://github.com/Netflix/astyanax/issues/577

Astyanax is no longer maintained, so I don't really expect that to go anywhere, which is why I thought it might be a good idea to issue a general warning.  This should hopefully be a helpful nudge for anyone still using Astyanax: it's time to find a new driver.

We bumped into this over the weekend during routine cluster expansion.  Very, very fortunately for us, we were just days away from retiring that project as our very last Astyanax use case.  We were able to limp along by providing a significant subset of our hosts in the seeds list, but that would have been a difficult way to operate long term.
Reply | Threaded
Open this post in threaded view
|

Re: Astyanax Thrift Frame Size Hardcoded - Breaks Ring Describe

Robert Coli-3
On Fri, Apr 3, 2015 at 11:16 AM, Eric Stevens <[hidden email]> wrote:
Astyanax is no longer maintained, so I don't really expect that to go anywhere, which is why I thought it might be a good idea to issue a general warning.  This should hopefully be a helpful nudge for anyone still using Astyanax: it's time to find a new driver.

I'm not contesting, but do you have a citation for this? If so, providing it would strengthen your nudge. :D

=Rob
 
Reply | Threaded
Open this post in threaded view
|

Re: Astyanax Thrift Frame Size Hardcoded - Breaks Ring Describe

graham sanderson
It is very stable for us; we don’t use it in many cases (generally older stuff where it was the best choice), but I think it is a little harsh to write it off

On Apr 3, 2015, at 1:55 PM, Robert Coli <[hidden email]> wrote:

On Fri, Apr 3, 2015 at 11:16 AM, Eric Stevens <[hidden email]> wrote:
Astyanax is no longer maintained, so I don't really expect that to go anywhere, which is why I thought it might be a good idea to issue a general warning.  This should hopefully be a helpful nudge for anyone still using Astyanax: it's time to find a new driver.

I'm not contesting, but do you have a citation for this? If so, providing it would strengthen your nudge. :D

=Rob
 


smime.p7s (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Astyanax Thrift Frame Size Hardcoded - Breaks Ring Describe

Eric Stevens
Sorry, I thought it was more or less formally deprecated, but a little quick searching doesn't support the idea.  I could swear I recall reading an article about how Netflix had mostly transitioned to Datastax Java Driver, but I can't find that now... so maybe it was a dream?

However the activity graph on Github, and the number of open and unresponded issues doesn't suggest a project under active development (I think there's 1 commit this year?).  Thrift is frozen, so even if Astyanax is still being tended, its days are probably numbered as long as it remains Thrift centric.

That said, I think my declaration of the death of Astyanax was probably greatly exaggerated.

On Fri, Apr 3, 2015 at 7:45 PM, graham sanderson <[hidden email]> wrote:
It is very stable for us; we don’t use it in many cases (generally older stuff where it was the best choice), but I think it is a little harsh to write it off

On Apr 3, 2015, at 1:55 PM, Robert Coli <[hidden email]> wrote:

On Fri, Apr 3, 2015 at 11:16 AM, Eric Stevens <[hidden email]> wrote:
Astyanax is no longer maintained, so I don't really expect that to go anywhere, which is why I thought it might be a good idea to issue a general warning.  This should hopefully be a helpful nudge for anyone still using Astyanax: it's time to find a new driver.

I'm not contesting, but do you have a citation for this? If so, providing it would strengthen your nudge. :D

=Rob