Juan Yu has posted comments on this change.

Change subject: IMPALA-2076: Correct execution time tracking for 
DataStreamSender.
......................................................................


Patch Set 3:

(14 comments)

http://gerrit.cloudera.org:8080/#/c/2578/3/be/src/runtime/backend-client.h
File be/src/runtime/backend-client.h:

Line 15: #include "runtime/client-cache.h"
> Unused?
Defined ImpalaBackendClient in this header and keep this.


Line 22: /// Backend Client that can take a 
RuntimeProfile::ConcurrentTimerCounter to track
       : /// transmit data time for multiple threads. If more than one threads 
send data
       : /// at the same time, the transmit time is count only once.
> Let's make this a bit more clear, e.g.:
Done


Line 27:   ImpalaBackendClient(boost::shared_ptr< 
::apache::thrift::protocol::TProtocol> prot)
> is this space needed?
Thanks for pointing it out. yes, it's needed. without space, compiler will 
complain.
In file included from /home/cdh52/Impala/be/src/runtime/exec-env.h:26:
/home/cdh52/Impala/be/src/runtime/backend-client.h:30:40: error: found '<::' 
after a
      template name which forms the digraph '<:' (aka '[') and a ':', did you 
mean '< ::'?
  ImpalaBackendClient(boost::shared_ptr<::apache::thrift::protocol::TProtocol> 
prot)
                                       ^~~
                                       < ::


Line 30:   ImpalaBackendClient(boost::shared_ptr< 
::apache::thrift::protocol::TProtocol> iprot,
> blank line before this one
Done


Line 45: Caller who wants to track data transmit time need to set its own 
counter.
> Maybe: "Callers of TransmitData() should provide their own counter to measu
Done


Line 51:   /// ImpalaBackendClient is shared by multiple queries. It's caller's 
responsibility
> It's the caller's...
Done


Line 52:   /// to reset the counter after data transmition.
> transmission
Done


http://gerrit.cloudera.org:8080/#/c/2578/3/be/src/runtime/client-cache.h
File be/src/runtime/client-cache.h:

Line 350: class ImpalaBackendClient;
        : typedef ClientCache<ImpalaBackendClient> ImpalaBackendClientCache;
        : typedef ClientConnection<ImpalaBackendClient> ImpalaBackendConnection;
> Let's move these to the header that defines ImpalaBackendClient (and then y
Done


http://gerrit.cloudera.org:8080/#/c/2578/3/be/src/runtime/data-stream-sender.cc
File be/src/runtime/data-stream-sender.cc:

Line 383: ThriftTransmitTime
> We use (*) to indicate that a timer is the sum of several counter's wall ti
Done


http://gerrit.cloudera.org:8080/#/c/2578/3/be/src/util/stopwatch.h
File be/src/util/stopwatch.h:

Line 187: last_running_time_(0),
        :       busy_threads_(0) {
        :   }
> fit this more onto one line
Done


Line 190: ~ConcurrentStopWatch() {
        :     msw_.Stop();
        :   }
> I don't think you need this, because ConcurrentStopWatch isn't supposed to 
Done


Line 214: LastRunningTime
> I think we would usually call this the LapTime() (like on a regular stopwat
Done


Line 226: /// This is for caller who just want the most recent running time..
> Can you define what this is more clearly?
Done


Line 233:   boost::mutex thread_counter_lock_;
> I think this is a case where a SpinLock would make some sense, since the cr
Done


-- 
To view, visit http://gerrit.cloudera.org:8080/2578
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9c530b2056d852c8bcac6263e9e6b1a6bede1047
Gerrit-PatchSet: 3
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Juan Yu <j...@cloudera.com>
Gerrit-Reviewer: Henry Robinson <he...@cloudera.com>
Gerrit-Reviewer: Juan Yu <j...@cloudera.com>
Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to