Removing link from children to parent object

Alexander Sicular siculars at gmail.com
Sun Feb 6 02:33:30 EST 2011


Oh hell no. But in practice that all depends on the client (you could  
theoretically have a client that understood some SQL dialect and  
translated it to riak speak). You would have to do an m/r to get a  
list of all keys that have that link (which hopefully you have already  
been maintaining) and then update each key individually.

But what you should really do is update your application to  
accommodate dead links. They will return 404 via http and you can  
update your m/r's to also skip non existent keys. Key management,  
which link management really boils down to is a bit of a beast in  
riak. Best left to other devices. I've said it before and I'll say it  
again: do key management in redis and periodically dump keys to riak.  
Mark and sweep is a good protocol for doing this stuff via a right  
proper queue stack... or redis.

-Alexander

@siculars on twitter
http://siculars.posterous.com

Sent from my iPhone

On Feb 6, 2011, at 2:01, Joshua Partogi <joshua.java at gmail.com> wrote:

> Thanks Alexander,
>
> Is there any facility in riak that enables me to do something like  
> this:
>
> UPDATE obj set link=nil where link='Blah';
>
> Kind regards,
> Joshua
>
> On Sun, Feb 6, 2011 at 5:51 PM, Alexander Sicular  
> <siculars at gmail.com> wrote:
> Riak links are unidirectional and non-reciprocal. If you did not
> explixitly set a link on the child to the parent then it does not
> exist. If you did set links on the children then a traversal/loop will
> work but remember to include the body (value) in the rewrite. Write
> links + body or you lose the body.
>
> -alexander
>
> On 2011-02-06, Joshua Partogi <joshua.java at gmail.com> wrote:
> > Hi all,
> >
> > I have a link between Parent object and Child objects
> > e.g:
> >
> > Parent
> > -- Child1
> > -- Child2
> > -- Child3
> >
> > Now when I delete Parent, I want the links from Child to Parent to  
> be
> > removed as well.
> >
> > I can traverse/loop through all the Children that Parent have and  
> remove the
> > link one by one, but I was thinking if there is a more elegant way  
> to do it
> > in Riak that I don't know.
> >
> > I am using the Ruby Riak/Ripple library.
> >
> > Thanks for your help.
> >
> > Kind regards,
> > Joshua.
> >
> > --
> > http://twitter.com/jpartogi
> >
>
> --
> Sent from my mobile device
>
>
>
> -- 
> http://twitter.com/jpartogi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20110206/2cf2f57e/attachment.html>


More information about the riak-users mailing list