git commit: PHOENIX-1226 Exception in Tracing
Repository: phoenix Updated Branches: refs/heads/master 4a1ec7ec4 - 284435b5a PHOENIX-1226 Exception in Tracing Phoenix tracing expects annotation values to be integers, but HBase writes non-integer values in its traces (which end up in the phoenix sink) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/284435b5 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/284435b5 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/284435b5 Branch: refs/heads/master Commit: 284435b5ab4e749febf13ad00f9050f6f25f9e15 Parents: 4a1ec7e Author: Jesse Yates jya...@apache.org Authored: Fri Sep 5 16:44:15 2014 -0700 Committer: Jesse Yates jya...@apache.org Committed: Fri Sep 5 16:44:36 2014 -0700 -- .../org/apache/phoenix/trace/TracingCompat.java | 4 +- .../phoenix/trace/TraceMetricsSourceTest.java | 96 2 files changed, 98 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/284435b5/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java -- diff --git a/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java b/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java index 783bfd6..032e38a 100644 --- a/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java +++ b/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java @@ -49,11 +49,11 @@ public class TracingCompat { public static final String METRICS_MARKER_CONTEXT = marker; public static void addAnnotation(Span span, String message, int value) { -span.addKVAnnotation(message.getBytes(), Bytes.toBytes(value)); +span.addKVAnnotation(message.getBytes(), Bytes.toBytes(Integer.toString(value))); } public static PairString, String readAnnotation(byte[] key, byte[] value) { -return new PairString, String(new String(key), Integer.toString(Bytes.toInt(value))); +return new PairString, String(new String(key), Bytes.toString(value)); } public static MetricsWriter initializeWriter(String clazz) { http://git-wip-us.apache.org/repos/asf/phoenix/blob/284435b5/phoenix-hadoop2-compat/src/test/java/org/apache/phoenix/trace/TraceMetricsSourceTest.java -- diff --git a/phoenix-hadoop2-compat/src/test/java/org/apache/phoenix/trace/TraceMetricsSourceTest.java b/phoenix-hadoop2-compat/src/test/java/org/apache/phoenix/trace/TraceMetricsSourceTest.java new file mode 100644 index 000..3258e8a --- /dev/null +++ b/phoenix-hadoop2-compat/src/test/java/org/apache/phoenix/trace/TraceMetricsSourceTest.java @@ -0,0 +1,96 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.phoenix.trace; + +import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.metrics2.MetricsCollector; +import org.apache.hadoop.metrics2.MetricsRecordBuilder; +import org.apache.hadoop.metrics2.MetricsTag; +import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem; +import org.cloudera.htrace.Span; +import org.cloudera.htrace.impl.MilliSpan; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * Test that the @{link TraceMetricSource} correctly handles different kinds of traces + */ +public class TraceMetricsSourceTest { + + @BeforeClass + public static void setup() throws Exception{ +DefaultMetricsSystem.setMiniClusterMode(true); + } + + /** + * For PHOENIX-1126, Phoenix originally assumed all the annotation values were integers, + * but HBase writes some strings as well, so we need to be able to handle that too + */ + @Test + public void testNonIntegerAnnotations(){ +Span span = getSpan(); +// make sure its less than the length of an integer +byte[] value =
Build failed in Jenkins: Phoenix | 4.0 | Hadoop1 #307
See https://builds.apache.org/job/Phoenix-4.0-hadoop1/307/changes Changes: [jyates] PHOENIX-1226 Exception in Tracing -- [...truncated 29876 lines...] ReverseFunctionITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ServerExceptionITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime DropViewIT.doSetup:57-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime SaltedIndexIT.doSetup:63-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime IndexMetadataITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ViewIndexIT.doSetup:50-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ImmutableIndexITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime MutableIndexIT.doSetup:66-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime LocalIndexIT.doSetup:74-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime SkipScanQueryITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime SaltedViewITBaseViewIT.doSetup:48-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime MD5FunctionITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime QueryMoreITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime UpsertBigValuesITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ExecuteStatementsITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime TenantSpecificViewIndexSaltedITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime AlterTableITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime LastValueFunctionITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime SortOrderFITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ViewITBaseViewIT.doSetup:48-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime PhoenixEncodeDecodeITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime FirstValueFunctionITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime ArithmeticQueryITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime SaltedTableUpsertSelectITBaseHBaseManagedTimeIT.doSetup:73-BaseHBaseManagedTimeIT.getUrl:58-BaseHBaseManagedTimeIT.checkClusterInitialized:87-BaseTest.setUpTestCluster:449-BaseTest.initMiniCluster:488 » Runtime
Jenkins build is back to stable : Phoenix | Master | Hadoop1 #358
See https://builds.apache.org/job/Phoenix-master-hadoop1/358/changes