Hitachi Vantara Pentaho Community Forums
Results 1 to 9 of 9

Thread: Distributed Transactions

  1. #1

    Default Distributed Transactions

    HI,

    I am a newbie and still exploring kettle. few questions pondering me ..
    1. Does kettle support distributed transaction ?
    2. is it possible to debug transformations ? ,if yes please direct me to the "how do link ?"

    Thanks and Regards,
    Ramu Chandran

  2. #2
    Join Date
    May 2006
    Posts
    4,882

    Default

    For 1) it depends what you mean with distributed transactions... but probably no.
    For 2) there's a debug button in the top of a transformation canvas that allows you to stop the transformation on a certain condition.

    Regards,
    Sven

  3. #3

    Default

    Thanks Sven for your immediate response.
    For 1) well I would like to update multiple tables in one transformation and if there is an exception would like to roll back all. Is this possible ?
    For 2) I am using Kettle 2.4.0 and could not find any debug button... I am on a very old version

  4. #4
    Join Date
    May 2006
    Posts
    4,882

    Default

    on 2.4 for both no...

    debugging was introduced in 3.1

    For the "distributed transactions" ... possibly by setting the commit size to 0 so that you get only a commit at the end for all databases steps (this was also changed in 3.1)

    Regards,
    Sven

  5. #5
    Join Date
    Nov 1999
    Posts
    9,729

    Default

    This is false, you need to use the "Unique connections" options to get a transactional transformation. The commit size is ignored in that case.

  6. #6

    Default

    Thanks for all the help. Just one more question ...
    In which version of kettle was "unique connections" options introduced and where would i find in the menu item ?

    Thanks for all.

  7. #7
    Join Date
    Nov 1999
    Posts
    9,729

    Default

    It's only working exactly correct from version 3.0 on, but I think it was introduced in 2.5.

  8. #8
    Join Date
    Jun 2007
    Posts
    17

    Default

    Hi all,
    as I read in this post and in Kettle source code, the feature of Unique Connections doesn't provide distributed transactions support in case of different database. (Which would mean 2 phase commit, calling prepare, before performing commit).

    Can you confirm my assumption is right?

    Handling such a functionnality, would require using classes like XADataSource, XAConnection and XAResource to handle the database.

  9. #9
    Join Date
    Nov 1999
    Posts
    9,729

    Default

    In the case that you use different databases, the transactional nature of the transformation doesn't change as we keep a "unique connection" per used database.

    It looks very similar to 2PC, but obviously this is not really needed here since we know immediately from all involved databases if the transactions is succeeded or not. It's a synchronous operation unlike most 2PC situations.

    It's only after evaluating if the result of the transformation is without errors that we do a commit on all connections (or a rollback in case we see errors).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.