cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7276) Include keyspace and table names in logs where possible
Date Wed, 30 Sep 2015 23:39:05 GMT

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

Paulo Motta commented on CASSANDRA-7276:
----------------------------------------

[~eitikimura] some comments:
I'm not able to compile:
{noformat}
    [javac] /home/paulo/workspace/cassandra/src/java/org/apache/cassandra/utils/LogUtils.java:23:
error: package org.apache.log4j does not exist
    [javac] import org.apache.log4j.MDC;
    [javac]  
{noformat}

There were also some warnings when applying the patch:
{noformat}
cassandra-2.1.9-7276.txt:54: trailing whitespace.
    
cassandra-2.1.9-7276.txt:141: trailing whitespace.
        
cassandra-2.1.9-7276.txt:219: trailing whitespace.
    
cassandra-2.1.9-7276.txt:222: trailing whitespace.
        for (ColumnFamily columnFamily : getColumnFamilies()) 
cassandra-2.1.9-7276.txt:228: trailing whitespace.
    
warning: squelched 17 whitespace errors
warning: 22 lines add whitespace errors.
{noformat}

Also, I just noticed there might be some inconsistencies with MDC and [managed threads|http://logback.qos.ch/manual/mdc.html#managedThreads],
so it would be nice to verify that all mdc statements that you put will be run on the same
thread as the logging statements, as well as cleanup with MDC.clear or MDC.remove after the
operation is finished so we don't risk propagating garbage to other threads (you may find
more information about thread locality of MDC on this [post|http://blog.trifork.com/2013/06/06/adding-user-info-to-log-entries-in-a-multi-user-app-using-mapped-diagnostic-context/]).

> Include keyspace and table names in logs where possible
> -------------------------------------------------------
>
>                 Key: CASSANDRA-7276
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7276
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Nitzan Volman
>            Priority: Minor
>              Labels: bootcamp, lhf
>             Fix For: 2.1.x
>
>         Attachments: 2.1-CASSANDRA-7276-v1.txt, cassandra-2.1-7276-compaction.txt, cassandra-2.1-7276.txt,
cassandra-2.1.9-7276.txt
>
>
> Most error messages and stacktraces give you no clue as to what keyspace or table was
causing the problem.  For example:
> {noformat}
> ERROR [MutationStage:61648] 2014-05-20 12:05:45,145 CassandraDaemon.java (line 198) Exception
in thread Thread[MutationStage:61648,5,main]
> java.lang.IllegalArgumentException
>     at java.nio.Buffer.limit(Unknown Source)
>     at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:63)
>     at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
>     at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:98)
>     at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35)
>     at edu.stanford.ppl.concurrent.SnapTreeMap$1.compareTo(SnapTreeMap.java:538)
>     at edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1108)
>     at edu.stanford.ppl.concurrent.SnapTreeMap.updateUnderRoot(SnapTreeMap.java:1059)
>     at edu.stanford.ppl.concurrent.SnapTreeMap.update(SnapTreeMap.java:1023)
>     at edu.stanford.ppl.concurrent.SnapTreeMap.putIfAbsent(SnapTreeMap.java:985)
>     at org.apache.cassandra.db.AtomicSortedColumns$Holder.addColumn(AtomicSortedColumns.java:328)
>     at org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:200)
>     at org.apache.cassandra.db.Memtable.resolve(Memtable.java:226)
>     at org.apache.cassandra.db.Memtable.put(Memtable.java:173)
>     at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:893)
>     at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:368)
>     at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:333)
>     at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:206)
>     at org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:56)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:60)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>     at java.lang.Thread.run(Unknown Source)
> {noformat}
> We should try to include info on the keyspace and column family in the error messages
or logs whenever possible.  This includes reads, writes, compactions, flushes, repairs, and
probably more.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message