incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Kesselman <jef...@gmail.com>
Subject Re: What does a write lock ?
Date Fri, 08 Jul 2011 16:33:54 GMT
Hmm.

Thanks Nate.

I need to think about this and our data store design some.  In general I
dislike architecture with large numbers of independent servers, I think it
invites communication latencies and partial failures into the mix.  But I'll
cogitate some.

On Fri, Jul 8, 2011 at 12:21 PM, Nate McCall <nate@datastax.com> wrote:

> Validation occurs at the API level, returning an
> InvalidRequestException to the caller of the API (a thrift client in
> this case). Specifically, a mutation will not be scheduled for the
> storage until it has been validated at the API level.
>
> If the intention is to do a read-before-write validation as an
> AbstractType extension, then yes, the underlying value could indeed
> change between validation and storage. If this were the goal, you need
> to implement locking externally (via zookeper or similar as previously
> mentioned).
>
> On Fri, Jul 8, 2011 at 10:21 AM, William Oberman
> <oberman@civicscience.com> wrote:
> > I haven't ever written my own
> org.apache.cassandra.db.marshal.AbstractType
> > (which is I think what your talking about), so I have no idea.
> >
> > Looking up the JavaDoc for that class, validate says "validate that the
> byte
> > array is a valid sequence for the type we are supposed to be comparing",
> > which sounds like a local operation to me (e.g. it shouldn't fetch remote
> > data, it's just saying "yep, this is a valid member of type T").
> >
> > will
> >
> > On Fri, Jul 8, 2011 at 11:17 AM, Jeffrey Kesselman <jeffpk@gmail.com>
> wrote:
> >>
> >> Alright,
> >> So are you saying the column validator, as specified
> >> by conf/storage-conf.xml is checked in the client interface library and
> not
> >> on the server side?  That seems odd to me on a number of levels, not the
> >> least being I cant see how thrift could autogenerate that
> >> for different languages or how those other languages would use a Java
> class.
> >>
> >> On Fri, Jul 8, 2011 at 11:13 AM, William Oberman
> >> <oberman@civicscience.com> wrote:
> >>>
> >>> I use a language specific wrapper around thrift as my "client", but
> yes,
> >>> I guess I fundamentally mean thrift == client, and the cassandra server
> ==
> >>> server.
> >>>
> >>> will
> >>>
> >>> On Fri, Jul 8, 2011 at 11:08 AM, Jeffrey Kesselman <jeffpk@gmail.com>
> >>> wrote:
> >>>>
> >>>> I am confused by what you mean by "Cassandra client code."  Is this
> part
> >>>> of the Cassnadra server?
> >>>> My architecture is my "user" talks thrift to Cassandra.
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >> It's always darkest just before you are eaten by a grue.
> >
> >
> >
>



-- 
It's always darkest just before you are eaten by a grue.

Mime
View raw message