Cassandra node refused to start – MismatchedInputException: No content to map due to end-of-input
Posted by FatDBA on August 5, 2020
Hi All,
This one will be a quick one, kind of error and solution approach.
This time it’s about Cassandra statup error which I have faced while doing some testing on a POC box and how I resolved it.
In this case I was using Datastax Cassandra 6.8.1 on RHEL6, I tried starting the instance but failed with error which says “MismatchedInputException: No content to map due to end-of-input”.
I’ve attempted to start it few more times but ended up with the same error message. Below is the complete/full error details.
WARN [main] 2020-08-05 13:43:46,277 DatabaseDescriptor.java:1517 - JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info.
INFO [main] 2020-08-05 13:43:46,281 DseDelegateSnitch.java:39 - Setting my workloads to [Cassandra]
INFO [main] 2020-08-05 13:43:46,358 YamlConfigurationLoader.java:77 - Configuration location: file:/home/cassandra/dse-6.8.1_node1/resources/cassandra/conf/cassandra.yaml
INFO [main] 2020-08-05 13:43:46,360 DseDelegateSnitch.java:41 - Initialized DseDelegateSnitch with workloads [Cassandra], delegating to com.datastax.bdp.snitch.DseSimpleSnitch
INFO [main] 2020-08-05 13:43:46,424 YamlConfigurationLoader.java:77 - Configuration location: file:/home/cassandra/dse-6.8.1_node1/resources/cassandra/conf/cassandra.yaml
ERROR [main] 2020-08-05 13:43:47,904 DseModule.java:126 - Unable to start server. Exiting...
org.apache.cassandra.io.FSReadError: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: (BufferedInputStream); line: -1, column: 0]
at com.datastax.bdp.db.nodes.Nodes.transactionalRead(Nodes.java:195)
at com.datastax.bdp.db.nodes.Nodes.access$100(Nodes.java:76)
at com.datastax.bdp.db.nodes.Nodes$Local.(Nodes.java:477)
at com.datastax.bdp.db.nodes.Nodes.(Nodes.java:97)
at com.datastax.bdp.db.nodes.Nodes$Instance.setup(Nodes.java:911)
at org.apache.cassandra.config.DatabaseDescriptor.applyMetadata(DatabaseDescriptor.java:587)
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:234)
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:249)
at com.datastax.bdp.DseCoreModule.(DseCoreModule.java:84)
at com.datastax.bdp.DseModule.getRequiredModules(DseModule.java:163)
at com.datastax.bdp.server.AbstractDseModule.configure(AbstractDseModule.java:27)
at com.datastax.bdp.DseModule.configure(DseModule.java:89)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at com.datastax.bdp.ioc.DseInjector.get(DseInjector.java:36)
at com.datastax.bdp.DseModule.main(DseModule.java:103)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: (BufferedInputStream); line: -1, column: 0]
Now, let’s talk about the fix that I have applied to get rid of the problem, but before that I recalled that the database was abruptly shutdown last time due to server/hsot crashed. This file contains local startup information like data center, release info, scheam version, native transport address, port info (JMX, storage etc.), broadcast address etc.
[cassandra@fatdba-doccass bin]$ cd /var/lib/cassandra/metadata/nodes/
[cassandra@fatdba-doccass nodes]$ ls
local peers snapshots
[cassandra@fatdba-doccass nodes]$ rm -rf local
[cassandra@fatdba-doccass nodes]$
[cassandra@fatdba-doccass nodes]$
[cassandra@fatdba-doccass nodes]$ ls -ltrh
total 4.0K
drwxrwxr-x. 2 cassandra cassandra 6 Jul 27 16:07 snapshots
-rw-rw-r--. 1 cassandra cassandra 1 Aug 4 18:29 peers
Now let’s try to start the node once again.
[cassandra@fatdba-doccass bin]$
[cassandra@fatdba-doccass bin]$ ./dse cassandra
And it got started after clearning the local details/information which was there when node was crashed.
Hope It Helps
Prashant Dixit
Leave a Reply