[ 
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)

Reply via email to