Repository: cassandra Updated Branches: refs/heads/trunk 46a5514c2 -> 0f5443d9c
Reintroduce stack traces for some log messages patch by Stefan Podkowinski; reviewed by Mick Semb Wever for CASSANDRA-14528 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0f5443d9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0f5443d9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0f5443d9 Branch: refs/heads/trunk Commit: 0f5443d9ceb3dd5f6f5aa4bb9741c73093fe404c Parents: 46a5514 Author: Stefan Podkowinski <stefan.podkowin...@1und1.de> Authored: Tue Jun 19 09:05:59 2018 +0200 Committer: Stefan Podkowinski <stefan.podkowin...@1und1.de> Committed: Fri Jun 22 08:43:44 2018 +0200 ---------------------------------------------------------------------- src/java/org/apache/cassandra/auth/CassandraAuthorizer.java | 7 ++----- src/java/org/apache/cassandra/batchlog/BatchlogManager.java | 7 +++++++ .../concurrent/AbstractLocalAwareExecutorService.java | 2 +- src/java/org/apache/cassandra/concurrent/SEPWorker.java | 4 ++-- .../org/apache/cassandra/hints/HintsDispatchExecutor.java | 4 +--- 5 files changed, 13 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f5443d9/src/java/org/apache/cassandra/auth/CassandraAuthorizer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/auth/CassandraAuthorizer.java b/src/java/org/apache/cassandra/auth/CassandraAuthorizer.java index b6b2e54..5140bcf 100644 --- a/src/java/org/apache/cassandra/auth/CassandraAuthorizer.java +++ b/src/java/org/apache/cassandra/auth/CassandraAuthorizer.java @@ -129,9 +129,7 @@ public class CassandraAuthorizer implements IAuthorizer } catch (RequestExecutionException | RequestValidationException e) { - logger.warn("CassandraAuthorizer failed to revoke all permissions of {}: {}", - revokee.getRoleName(), - e.getMessage()); + logger.warn(String.format("CassandraAuthorizer failed to revoke all permissions of %s", revokee.getRoleName()), e); } } @@ -168,8 +166,7 @@ public class CassandraAuthorizer implements IAuthorizer } catch (RequestExecutionException | RequestValidationException e) { - logger.warn("CassandraAuthorizer failed to revoke all permissions on {}: {}", droppedResource, e.getMessage()); - return; + logger.warn(String.format("CassandraAuthorizer failed to revoke all permissions on %s", droppedResource), e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f5443d9/src/java/org/apache/cassandra/batchlog/BatchlogManager.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java index f232bdc..4809bd7 100644 --- a/src/java/org/apache/cassandra/batchlog/BatchlogManager.java +++ b/src/java/org/apache/cassandra/batchlog/BatchlogManager.java @@ -252,6 +252,8 @@ public class BatchlogManager implements BatchlogManagerMBean Set<InetAddressAndPort> hintedNodes = new HashSet<>(); Set<UUID> replayedBatches = new HashSet<>(); + Exception caughtException = null; + int skipped = 0; // Sending out batches for replay without waiting for them, so that one stuck batch doesn't affect others for (UntypedResultSet.Row row : batches) @@ -274,7 +276,9 @@ public class BatchlogManager implements BatchlogManagerMBean catch (IOException e) { logger.warn("Skipped batch replay of {} due to {}", id, e.getMessage()); + caughtException = e; remove(id); + ++skipped; } if (++positionInPage == pageSize) @@ -288,6 +292,9 @@ public class BatchlogManager implements BatchlogManagerMBean finishAndClearBatches(unfinishedBatches, hintedNodes, replayedBatches); + if (caughtException != null) + logger.warn(String.format("Encountered %d unexpected exceptions while sending out batches", skipped), caughtException); + // to preserve batch guarantees, we must ensure that hints (if any) have made it to disk, before deleting the batches HintsService.instance.flushAndFsyncBlockingly(transform(hintedNodes, StorageService.instance::getHostIdForEndpoint)); http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f5443d9/src/java/org/apache/cassandra/concurrent/AbstractLocalAwareExecutorService.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/concurrent/AbstractLocalAwareExecutorService.java b/src/java/org/apache/cassandra/concurrent/AbstractLocalAwareExecutorService.java index 97dbe86..45b6362 100644 --- a/src/java/org/apache/cassandra/concurrent/AbstractLocalAwareExecutorService.java +++ b/src/java/org/apache/cassandra/concurrent/AbstractLocalAwareExecutorService.java @@ -164,7 +164,7 @@ public abstract class AbstractLocalAwareExecutorService implements LocalAwareExe catch (Throwable t) { JVMStabilityInspector.inspectThrowable(t); - logger.warn("Uncaught exception on thread {}: {}", Thread.currentThread(), t.getMessage()); + logger.error(String.format("Uncaught exception on thread %s", Thread.currentThread()), t); result = t; failure = true; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f5443d9/src/java/org/apache/cassandra/concurrent/SEPWorker.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/concurrent/SEPWorker.java b/src/java/org/apache/cassandra/concurrent/SEPWorker.java index 918349f..29a2557 100644 --- a/src/java/org/apache/cassandra/concurrent/SEPWorker.java +++ b/src/java/org/apache/cassandra/concurrent/SEPWorker.java @@ -143,9 +143,9 @@ final class SEPWorker extends AtomicReference<SEPWorker.Work> implements Runnabl if (assigned != null) assigned.returnWorkPermit(); if (task != null) - logger.error("Failed to execute task, unexpected exception killed worker: {}", t.getMessage()); + logger.error("Failed to execute task, unexpected exception killed worker", t); else - logger.error("Unexpected exception killed worker: {}", t.getMessage()); + logger.error("Unexpected exception killed worker", t); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/0f5443d9/src/java/org/apache/cassandra/hints/HintsDispatchExecutor.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/hints/HintsDispatchExecutor.java b/src/java/org/apache/cassandra/hints/HintsDispatchExecutor.java index cbbb212..92dbc29 100644 --- a/src/java/org/apache/cassandra/hints/HintsDispatchExecutor.java +++ b/src/java/org/apache/cassandra/hints/HintsDispatchExecutor.java @@ -240,9 +240,7 @@ final class HintsDispatchExecutor } catch (FSReadError e) { - logger.error("Failed to dispatch hints file {}: file is corrupted ({})", - descriptor.fileName(), - e.getMessage()); + logger.error(String.format("Failed to dispatch hints file %s: file is corrupted", descriptor.fileName()), e); store.cleanUp(descriptor); store.blacklist(descriptor); throw e; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org