[ 
https://issues.apache.org/jira/browse/TEPHRA-228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16016228#comment-16016228
 ] 

ASF GitHub Bot commented on TEPHRA-228:
---------------------------------------

Github user gokulavasan commented on a diff in the pull request:

    https://github.com/apache/incubator-tephra/pull/42#discussion_r117322759
  
    --- Diff: 
tephra-core/src/main/java/org/apache/tephra/TransactionManager.java ---
    @@ -1378,17 +1403,32 @@ public TransactionType getTransactionType() {
         private final long expiration;
         private final InProgressType type;
         private final LongArrayList checkpointWritePointers;
    +    private final String clientId;
    --- End diff --
    
    Not sure if we can add it to equals/hashCode. The unit tests fail when 
trying to compare the state before persistence and after recovery and won't be 
the same if we include clientId in comparison. Any reason why we should 
definitely include it? Or should we include it and adjust the test that does 
the comparison?


> Introduce client ID that can be used to track requests per client
> -----------------------------------------------------------------
>
>                 Key: TEPHRA-228
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-228
>             Project: Tephra
>          Issue Type: Improvement
>          Components: api, core
>            Reporter: Poorna Chandra
>            Assignee: Gokul Gunasekaran
>             Fix For: 0.12.0-incubating
>
>
> Today transaction manager does not have details of what transaction belongs 
> to which client. For instance when a there are a lot of invalid transactions 
> generated by a client, it is not easy to say which client generated the 
> invalid transactions. Transaction manager just logs a message saying the 
> transaction ID was invalidated. This makes debugging very difficult since 
> there is no easy way to map the transaction ID to a program.
> Transaction APIs should allow clients to pass in client IDs for every start 
> transaction call. Transaction manager can store this client ID as part of the 
> transaction metadata. And when transaction manager logs messages with 
> transaction ID, it can include the client ID in the message.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to