Re: High-availability for transactions

2018-11-09 Thread James Taylor
Hi Curtis,
The omid2 branch is up to date with 4.x-hbase-1.3 and we’ll merge it once
the Omid release is complete (vote will start on Mon). Pedro is the main
one maintaining the CDH branches, so this work should make it into a 4.15
CDH release. If you have some spare cycles, I’m sure he could use some help.
Thanks,
James

On Wed, Nov 7, 2018 at 7:40 AM Curtis Howard 
wrote:

> Hi James,
>
> Great - thanks very much for confirming Omid will be available on 4.x
> branches - that includes the cdh/Cloudera branches as well?
>
> Would you have any suggestions on the best approach to merging 'omid2'
> branch work with say, 4.14-cdh5.14?
>
> Curtis
>
>
> On Tue, Nov 6, 2018 at 3:28 PM James Taylor 
> wrote:
>
>> The Omid integration will be available on all active 4.x branches (1.2,
>> 1.3, and 1.4) as well as on 5.x. The Omid integration has the same unit
>> test coverage as Tephra. If you want to give it a spin, let us know. You'd
>> just need to pull the phoenix-integration branch for Omid and the omid2
>> branch for Phoenix and install them locally.
>>
>> Thanks,
>> James
>>
>> On Mon, Nov 5, 2018 at 5:57 PM Curtis Howard <
>> curtis.james.how...@gmail.com> wrote:
>>
>>> Hi Omid,
>>>
>>> Thanks for the quick reply.
>>>
>>> When the Omid/Phoenix integration is complete, will it be released only
>>> with Phoenix 5.x, or will it also be integrated and tested with 4.14.x
>>> branches?
>>> Can you comment at all on what level of testing the integration will
>>> have had, once released?  (will it be considered an alpha, or beta release,
>>> initially?)
>>>
>>> Curtis
>>>
>>>


Re: High-availability for transactions

2018-11-07 Thread Curtis Howard
Hi James,

Great - thanks very much for confirming Omid will be available on 4.x
branches - that includes the cdh/Cloudera branches as well?

Would you have any suggestions on the best approach to merging 'omid2'
branch work with say, 4.14-cdh5.14?

Curtis


On Tue, Nov 6, 2018 at 3:28 PM James Taylor  wrote:

> The Omid integration will be available on all active 4.x branches (1.2,
> 1.3, and 1.4) as well as on 5.x. The Omid integration has the same unit
> test coverage as Tephra. If you want to give it a spin, let us know. You'd
> just need to pull the phoenix-integration branch for Omid and the omid2
> branch for Phoenix and install them locally.
>
> Thanks,
> James
>
> On Mon, Nov 5, 2018 at 5:57 PM Curtis Howard <
> curtis.james.how...@gmail.com> wrote:
>
>> Hi Omid,
>>
>> Thanks for the quick reply.
>>
>> When the Omid/Phoenix integration is complete, will it be released only
>> with Phoenix 5.x, or will it also be integrated and tested with 4.14.x
>> branches?
>> Can you comment at all on what level of testing the integration will have
>> had, once released?  (will it be considered an alpha, or beta release,
>> initially?)
>>
>> Curtis
>>
>>


Re: High-availability for transactions

2018-11-06 Thread James Taylor
The Omid integration will be available on all active 4.x branches (1.2,
1.3, and 1.4) as well as on 5.x. The Omid integration has the same unit
test coverage as Tephra. If you want to give it a spin, let us know. You'd
just need to pull the phoenix-integration branch for Omid and the omid2
branch for Phoenix and install them locally.

Thanks,
James

On Mon, Nov 5, 2018 at 5:57 PM Curtis Howard 
wrote:

> Hi Omid,
>
> Thanks for the quick reply.
>
> When the Omid/Phoenix integration is complete, will it be released only
> with Phoenix 5.x, or will it also be integrated and tested with 4.14.x
> branches?
> Can you comment at all on what level of testing the integration will have
> had, once released?  (will it be considered an alpha, or beta release,
> initially?)
>
> Curtis
>
>


Re: High-availability for transactions

2018-11-05 Thread Curtis Howard
Hi Omid,

Thanks for the quick reply.

When the Omid/Phoenix integration is complete, will it be released only
with Phoenix 5.x, or will it also be integrated and tested with 4.14.x
branches?
Can you comment at all on what level of testing the integration will have
had, once released?  (will it be considered an alpha, or beta release,
initially?)

Curtis


Re: High-availability for transactions

2018-11-05 Thread Ohad Shacham
Hi Curtis,

Omid does provide high availability for transactions, you can find the full
technical details in here:
https://www.usenix.org/conference/fast17/technical-sessions/presentation/shacham
In a nutshell, in-flight transactions in this case are aborted by the
transaction manager, they are identified since every transaction manager
starts a new epoch. We also have an invalidation mechanism to guarantee
snapshot isolation and this guarantees that high availability does not
incur any overhead in the mainstream execution.

We are currently at the final stages of the integration with Phoenix and
will start a dedicated release in Omid in a few days.

Thx,
Ohad


On Mon, Nov 5, 2018 at 7:15 PM Curtis Howard 
wrote:

> Hi,
>
> Is there a best approach to ensuring high-availability for transactions?
> It seems that one option when using Tephra could be through the 
> CFG_DATA_TX_ZOOKEEPER_QUORUM
> property:
>
> https://github.com/apache/incubator-tephra/blob/d0a1c4c295fd28e68223db220b13dc1b12b326da/tephra-core/src/main/java/org/apache/tephra/TxConstants.java#L224-L226
>
> I've tested this with a couple of Tephra manager processes on different
> hosts, and they do seem to pass off control as the leader/standby
> instance.  It's not clear to me though how "in-flight" transactions that
> have been initiated but not committed yet would be handled during a
> failover?
>
> I also see that there has been recent integration work with Apache Omid as
> an alternative transaction manager - is it expected that Omid will (or
> maybe does already) provide high-availability for transactions?
>
> Thanks!
> Curtis
>
>
>


High-availability for transactions

2018-11-05 Thread Curtis Howard
Hi,

Is there a best approach to ensuring high-availability for transactions?
It seems that one option when using Tephra could be through the
CFG_DATA_TX_ZOOKEEPER_QUORUM
property:
https://github.com/apache/incubator-tephra/blob/d0a1c4c295fd28e68223db220b13dc1b12b326da/tephra-core/src/main/java/org/apache/tephra/TxConstants.java#L224-L226

I've tested this with a couple of Tephra manager processes on different
hosts, and they do seem to pass off control as the leader/standby
instance.  It's not clear to me though how "in-flight" transactions that
have been initiated but not committed yet would be handled during a
failover?

I also see that there has been recent integration work with Apache Omid as
an alternative transaction manager - is it expected that Omid will (or
maybe does already) provide high-availability for transactions?

Thanks!
Curtis