Hi Donald,

Good catch.  The reason we would like to send back the errors is to allow
the application to do something with the failed updates if it wants to.
Otherwise the application will think that it succeeded and get a suprise
later when they are not in the database.

- Doug

P.S. Are you OK with releasing your code under GPL 2+ ?

On Tue, Dec 2, 2008 at 6:38 AM, donald <[EMAIL PROTECTED]> wrote:

>
> There is a regression in Hypertable 0.9.0.11 and newer.
>
> in RangeServer::update()
>
> <code>
>      /**
>       * Apply the modifications
>       */
>      range_vector[rangei].range_ptr->lock();
>      {
>        Key key_comps;
>        uint8_t *ptr = range_vector[rangei].bufp->base + range_vector
> [rangei].offset;
>        uint8_t *end = ptr + range_vector[rangei].len;
>        while (ptr < end) {
>          key.ptr = ptr;
>          key_comps.load(key);
>          ptr += key_comps.length;
>          value.ptr = ptr;
>          ptr += value.length();
>          error = range_vector[rangei].range_ptr->add(key_comps,
> value);
>          HT_EXPECT(error == Error::OK, Error::FAILED_EXPECTATION);
>        }
>      }
>      range_vector[rangei].range_ptr->unlock();
> </code>
>
> range_vector[rangei].range_ptr->add(key_comps, value) may return
> Error::RANGESERVER_ROW_OVERFLOW and other errors under certain
> conditions, which causes the following assertion to fail and the whole
> range server killed.
>
> In 0.9.0.10, this situation is used to be handled by sending back the
> failed cells. In fact they could be simply discarded since
> RANGESERVER_ROW_OVERFLOW is an unrecoverable error.
>
> Donald
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Hypertable Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/hypertable-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to