You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Hive QA (JIRA)" <ji...@apache.org> on 2017/06/09 21:45:18 UTC
[jira] [Commented] (HIVE-16873) Remove Thread Cache From Logging
[ https://issues.apache.org/jira/browse/HIVE-16873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16045077#comment-16045077 ]
Hive QA commented on HIVE-16873:
--------------------------------
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12872336/HIVE-16873.1.patch
{color:red}ERROR:{color} -1 due to no test(s) being added or modified.
{color:red}ERROR:{color} -1 due to 4 failed/errored test(s), 10828 tests executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[orc_ppd_basic] (batchId=140)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[vector_if_expr] (batchId=145)
org.apache.hadoop.hive.cli.TestPerfCliDriver.testCliDriver[query14] (batchId=232)
org.apache.hadoop.hive.cli.TestPerfCliDriver.testCliDriver[query78] (batchId=232)
{noformat}
Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/5607/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/5607/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-5607/
Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 4 tests failed
{noformat}
This message is automatically generated.
ATTACHMENT ID: 12872336 - PreCommit-HIVE-Build
> Remove Thread Cache From Logging
> --------------------------------
>
> Key: HIVE-16873
> URL: https://issues.apache.org/jira/browse/HIVE-16873
> Project: Hive
> Issue Type: Improvement
> Components: Metastore
> Reporter: BELUGA BEHR
> Priority: Minor
> Attachments: HIVE-16873.1.patch
>
>
> In {{org.apache.hadoop.hive.metastore.HiveMetaStore}} we have a {{Formatter}} class (and its buffer) tied to every thread.
> This {{Formatter}} is for logging purposes. I would suggest that we simply let let the logging framework itself handle these kind of details and ditch the buffer per thread.
> {code}
> public static final String AUDIT_FORMAT =
> "ugi=%s\t" + // ugi
> "ip=%s\t" + // remote IP
> "cmd=%s\t"; // command
> public static final Logger auditLog = LoggerFactory.getLogger(
> HiveMetaStore.class.getName() + ".audit");
> private static final ThreadLocal<Formatter> auditFormatter =
> new ThreadLocal<Formatter>() {
> @Override
> protected Formatter initialValue() {
> return new Formatter(new StringBuilder(AUDIT_FORMAT.length() * 4));
> }
> };
> ...
> private static final void logAuditEvent(String cmd) {
> final Formatter fmt = auditFormatter.get();
> ((StringBuilder) fmt.out()).setLength(0);
> String address = getIPAddress();
> if (address == null) {
> address = "unknown-ip-addr";
> }
> auditLog.info(fmt.format(AUDIT_FORMAT, ugi.getUserName(),
> address, cmd).toString());
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)