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

Karan Mehta edited comment on PHOENIX-3896 at 6/1/17 12:13 AM:
---------------------------------------------------------------

Upon debugging it was found that threads from other tests, read the data from 
spanQueue and dump it in wrong tables. Each test has its own tracing table and 
connection. 
As [~samarthjain] suggested, each test in {{PhoenixTracingEndToEndIT}} launches 
a {{TestTraceWriter}} pool of threads, but the execution of {{run()}} method of 
these threads is wrapped by a {{done}} boolean which is shared among the test 
as well as traceWriter. This boolean is turned to true at the end of each test 
in its corresponding {{After}} method.

Patch with the following fixes:
1. Renamed {{TraceMetricsSourceTest}} to {{TraceSpanReceiverTest}} to comply 
with the new class name
2. Changed variable names and logging levels for certain statements.
3. Logic fix as described above
4. Added a method {{TraceWriter#start()}} to start the threads, since it is not 
a good practice to start the threads inside the constructor.

Please review [~samarthjain] whenever convenient. 


was (Author: karanmehta93):
Upon debugging it was found that threads from other tests, read the data from 
spanQueue and dump it in wrong tables. Each test has its own tracing table and 
connection. 
As [~samarthjain] suggested, each test in {{PhoenixTracingEndToEndIT}} launches 
a {{TestTraceWriter}} pool of threads, but the execution of {{run()}} method of 
these threads is wrapped by a {{done}} boolean which is shared among the test 
as well as traceWriter. This boolean is turned to true at the end of each test 
in its corresponding {{After}} method.

Patch with the following fixes:
1. Renamed {{TraceMetricsSourceTest}} to {{TraceSpanReceiverTest}} to comply 
with the new class name
2. Changed variable names and logging levels for certain statements.
3. Logic fix as described above
4. Added a method {{TraceWriter#start()}} to start the threads, since it is not 
a good practice to start the threads inside the constructor.

> Fix test failures related to tracing changes
> --------------------------------------------
>
>                 Key: PHOENIX-3896
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3896
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Karan Mehta
>         Attachments: PHOENIX-3896.001.patch
>
>
> Looks like our unit tests are breaking after these commits:
> - PHOENIX-3248 Enable HBase server-side scan metrics to be returned to client 
> and surfaced through metrics
> - PHOENIX-3752 Remove hadoop metrics integration from the tracing framework
> For example, see https://builds.apache.org/job/Phoenix-master/1628/ and 
> https://builds.apache.org/job/Phoenix-4.x-HBase-1.1/405/.
>  



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

Reply via email to