Hi there Dharam,
I've been trying to reproduce your "NoClassDefFoundError" and I've been
unsuccessful.
Would you be willing to share the steps you've used to successfully
reproduce this error? In addition to that, to avoid the Geode community
chasing its tail, could you possibly test with a later version of Spring
Data Geode (maybe 2.0.8.Release) using either the default geode-core
1.2.0 or updating to use the 1.6.0?
I'd be interested in understanding how this error can happen (other than
a class not being on the CP) but also to see if this is an issue in the
current release.
--Udo
On 7/8/18 23:21, Thacker, Dharam wrote:
Hi Anthony,
I have attached classpath portion of log in attachment.
It’s true that I am booting up geode server using spring boot and
spring-data-geode.
But I see all geode-* jars in classpath as expected.
In local, I could regenerate this issue as well.
Option1: I don’t have enough number of tombstones to trigger GC
(100,000 default) but server memory dropped below 30% which should
have triggered this.
Option2: Simulate force disconnect of member from distributed system
and let server member make an attempt to rejoin distributed system.
Once it’s done, load 100K dummy records and destroy them in sometime
with REPLICATED mode, 2 peers.
Thanks,
Dharam
*From:*Charlie Black [[email protected] <mailto:[email protected]>]
*Sent:* Thursday, July 05, 2018 10:29 PM
*To:* [email protected] <mailto:[email protected]>
*Subject:* Re: Issue with TombstoneService
Are we redeploying the geode jar to the jvm? Or have some kind of
interesting classloader?
On Thu, Jul 5, 2018 at 8:36 AM Anthony Baker <[email protected]
<mailto:[email protected]>> wrote:
Thanks for the error report. Can you share the portion of the log
that dumps the classpath? It looks like you’re starting geode with
springboot and perhaps the classpath is incorrect. If geode-*.jar
is on the classpath I don’t see how you could get this error.
Anthony
On Jul 4, 2018, at 12:16 AM, Thacker, Dharam
<[email protected] <mailto:[email protected]>>
wrote:
Hello Team,
Today we encountered below issue with Geode 1.1.1 (Should exists
in Geode 1.6.0 as well as per codebase).
[severe 2018/07/03 11:03:53.914 EDT event-server-2
<Replicate/Partition Region Garbage Collector> tid=0x4d] GemFire
garbage collection service encountered an unexpected exception
java.lang.NoClassDefFoundError:
org/apache/geode/internal/cache/TombstoneService$ReplicateTombstoneSweeper$1
at
org.apache.geode.internal.cache.TombstoneService$ReplicateTombstoneSweeper.expireBatch(TombstoneService.java:566)
at
org.apache.geode.internal.cache.TombstoneService$ReplicateTombstoneSweeper.checkExpiredTombstoneGC(TombstoneService.java:596)
at
org.apache.geode.internal.cache.TombstoneService$TombstoneSweeper.run(TombstoneService.java:882)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org.apache.geode.internal.cache.TombstoneService$ReplicateTombstoneSweeper$1
at java.net
<http://java.net>.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at
org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
This makes sense to me asReplicateTombstoneSweeperis a private
static class withinTombstoneService.
*Could you also verify at your end?*
Another one as below which I think should not come with 1.6.0 as
ThreadUtils has been deprecated/removed from newer versions.
[severe 2018/07/03 11:03:53.916 EDT event-server-2
<Replicate/Partition Region Garbage Collector> tid=0x4d] Uncaught
exception in thread Thread[Replicate/Partition Region Garbage
Collector,5,Destroyed Entries Processors]
java.lang.NoClassDefFoundError:
org/apache/geode/internal/lang/ThreadUtils
at
org.apache.geode.internal.logging.log4j.AlertAppender.append(AlertAppender.java:141)
at
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
at
org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:447)
at
org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:432)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:416)
at
org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:438)
at
org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:416)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:402)
at
org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
at
org.apache.logging.log4j.spi.ExtendedLoggerWrapper.logMessage(ExtendedLoggerWrapper.java:217)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2091)
at
org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1813)
at
org.apache.logging.log4j.spi.AbstractLogger.fatal(AbstractLogger.java:1005)
at
org.apache.geode.internal.cache.TombstoneService$TombstoneSweeper.run(TombstoneService.java:895)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org.apache.geode.internal.lang.ThreadUtils
Thanks,
Dharam
This message is confidential and subject to terms at:
http://www.jpmorgan.com/emaildisclaimer
<http://www.jpmorgan.com/emaildisclaimer>including on
confidentiality, legal privilege, viruses and monitoring of
electronic messages. If you are not the intended recipient, please
delete this message and notify the sender immediately. Any
unauthorized use is strictly prohibited.
--
[email protected] <mailto:[email protected]> | +1.858.480.9722
Principal Realtime Data Engineer
This message is confidential and subject to terms at:
http://www.jpmorgan.com/emaildisclaimer
<http://www.jpmorgan.com/emaildisclaimer> including on
confidentiality, legal privilege, viruses and monitoring of electronic
messages. If you are not the intended recipient, please delete this
message and notify the sender immediately. Any unauthorized use is
strictly prohibited.