[
https://issues.apache.org/jira/browse/HBASE-4542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13197459#comment-13197459
]
Phabricator commented on HBASE-4542:
------------------------------------
zhiqiu has commented on the revision "[jira] [HBASE-4542] Add filter info to
slow query logging".
INLINE COMMENTS
src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java:146 Right. :D
But maybe it will be less flexible? Say if we want to change super.getString()
later to add sth else other than the class name (for subclasses which do not
override it), then we need to change all subclasses which override this method
back to call this.getClass().getSimpleName() directly again.
And, calling super.toString() => this.getClass().getSimpleName() will
introduce an extra function call thus extra overhead (though very little). :)
src/main/java/org/apache/hadoop/hbase/filter/FilterList.java:317 My thought
was to keep the log readable for long FilterList. Thus any FilterList w/ more
than MAX_LOG_FILTERS will be truncated. We should have a threshold like this,
right? But to hardcode it like this might not be a good idea. :(
src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java:143
Just like above, say we have 10000 prefixes defined. It might be good to
truncate it to keep the log readable. :)
REVISION DETAIL
https://reviews.facebook.net/D1539
> add filter info to slow query logging
> -------------------------------------
>
> Key: HBASE-4542
> URL: https://issues.apache.org/jira/browse/HBASE-4542
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.89.20100924
> Reporter: Kannan Muthukkaruppan
> Assignee: Madhuwanti Vaidya
> Attachments: D1263.2.patch, D1539.1.patch
>
>
> Slow query log doesn't report filters in effect.
> For example:
> {code}
> (operationTooSlow): \
> {"processingtimems":3468,"client":"10.138.43.206:40035","timeRange":
> [0,9223372036854775807],\
> "starttimems":1317772005821,"responsesize":42411, \
> "class":"HRegionServer","table":"myTable","families":{"CF1":"ALL"]},\
> "row":"6c3b8efa132f0219b7621ed1e5c8c70b","queuetimems":0,\
> "method":"get","totalColumns":1,"maxVersions":1,"storeLimit":-1}
> {code}
> the above would suggest that all columns of myTable:CF1 are being requested
> for the given row. But in reality there could be filters in effect (such as
> ColumnPrefixFilter, ColumnRangeFilter, TimestampsFilter() etc.). We should
> enhance the slow query log to capture & report this information.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira