[ https://issues.apache.org/jira/browse/HTRACE-362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15428686#comment-15428686 ]
Nisala Mendis edited comment on HTRACE-362 at 8/19/16 7:23 PM: --------------------------------------------------------------- Hi Colin, Following commit [1] addresses following previous mentioned issues, 1. Changed Port to an Integer in KuduClientConfiguration. 2. Removed thread executor service. Since now the code is modified so that BlockingQueue is removed ( Previously used to achive Asynchronous write to the KUDU db. Now we use async Kudu client.) 3. Removed column names configurable. 4. Removed Process ID column. 5. Whole 128 bit Parent ID is now persisted to KUDU db. 6. Eventhough Timeline annotations stored is a separate Table. Each timeline annotation is stored with it s associated Span ID as foreign key. We can construct the original span by referring these two tables span/annotations. I couldnt think of a schema to persisting timeline annotations to the same span table in respective row since there can be 0 to any number of list of annotation per each span. Please let me know if you have concerns over this. Even with this approach we can construct the original span after persisting it to the DB. 7. Improved unit test this schema works for time line annotations as we. Following commit [2] addresses REST endpoints to retrieve persisted spans in Kudu DB to be integrated with webapp, 1. Two REST endpoints {code} /getspans/{spanID} - spans on parameterized spanID as input. {code} {code} /gettraces - root spans {code} 2. Unit test cover all the cases to retrieve persisted spans ( child/root ) from KUDU DB. Add JSON tests as well. This two REST endpoints can be either used by standalone js front end webapp as in HBASE span viewer webapp ( we could reuse the same HBase js webapp code in this case as well ) or either main htrace webapp can be slightly modified calling these REST endpoints. If you are happy with changes to Kudu span receiver, After KUDU new version is released. we could remove the Cloudera repository from htrace-kudu so that PR can be merged later. [1] https://github.com/nisalanirmana/incubator-htrace/commit/0cd394f5788b5738dde7169f62e94ab2c8e2b31e [2] https://github.com/nisalanirmana/incubator-htrace/commit/4b2e213ea007d3cadc4475ae5833c57ed3843665 Regards Nisala was (Author: nisala12): Hi Colin, Following commit [1] addresses following previous mentioned issues, 1. Changed Port to an Integer in KuduClientConfiguration. 2. Removed thread executor service. Since now the code is modified so that BlockingQueue is removed ( Previously used to achive Asynchronous write to the KUDU db. Now we use async Kudu client.) 3. Removed column names configurable. 4. Removed Process ID column. 5. Whole 128 bit Parent ID is now persisted to KUDU db. 6. Eventhough Timeline annotations stored is a separate Table. Each timeline annotation is stored with it s associated Span ID as foreign key. We can construct the original span by referring these two tables span/annotations. I couldnt think of a schema to persisting timeline annotations to the same span table in respective row since there can be 0 to any number of list of annotation per each span. Please let me know if you have concerns over this. Even with this approach we can construct the original span after persisting it to the DB. 7. Improved unit test this schema works for time line annotations as we. Following commit [2] addresses REST endpoints to retrieve persisted spans in Kudu DB to be integrated with webapp, 1. Two REST endpoints /getspans/{spanID} spans on parameterized spanID as input. /gettraces root spans 2. Unit test cover all the cases to retrieve persisted spans ( child/root ) from KUDU DB. Add JSON tests as well. This two REST endpoints can be either used by standalone js front end webapp as in HBASE span viewer webapp ( we could reuse the same HBase js webapp code in this case as well ) or either main htrace webapp can be slightly modified calling these REST endpoints. If you are happy with changes to Kudu span receiver, After KUDU new version is released. we could remove the Cloudera repository from htrace-kudu so that PR can be merged later. [1] https://github.com/nisalanirmana/incubator-htrace/commit/0cd394f5788b5738dde7169f62e94ab2c8e2b31e [2] https://github.com/nisalanirmana/incubator-htrace/commit/4b2e213ea007d3cadc4475ae5833c57ed3843665 Regards Nisala > Apache KUDU Span receiver implementation for Apache HTrace > ---------------------------------------------------------- > > Key: HTRACE-362 > URL: https://issues.apache.org/jira/browse/HTRACE-362 > Project: HTrace > Issue Type: Bug > Reporter: Nisala Mendis > Assignee: Nisala Mendis > Attachments: HTRACE-362.001.patch, HTRACE-362.002.patch, > HTRACE-362.003.patch, HTRACE-362.004.patch, kudu_receiver.patch, > kudu_span_receiver_basic_design.pdf > > > Implementation should be carried two components as span receiver that writes > kudu back end and span viewer to view written span/traces. -- This message was sent by Atlassian JIRA (v6.3.4#6332)