cdap sandbox won't start - Unable to read transaction state version

415 Views Asked by At

I have installed the binaries for the CDAP sandbox using the recipe found here. I was building a plugin and may have had a debugger blocking work. I rebooted my Linux PC on which the sandbox was running and now when I try and start the CDAP sandbox we end up with an error:

2020-10-04 09:05:57,507 - ERROR [main:o.a.t.s.SnapshotCodecProvider@122] - Unable to read transaction state version:
java.io.EOFException: null
        at org.apache.tephra.snapshot.BinaryDecoder.readByte(BinaryDecoder.java:106) ~[org.apache.tephra.tephra-core-0.15.0-incubating.jar:0.15.0-incubating]
        at org.apache.tephra.snapshot.BinaryDecoder.readInt(BinaryDecoder.java:48) ~[org.apache.tephra.tephra-core-0.15.0-incubating.jar:0.15.0-incubating]

My gut is saying that the last time CDAP ran, it didn't get the opportunity to write transaction state for an in-flight run and now I have corrupted some state. Since I'm only sandbox testing now, I'm happy to cold start CDAP. Unfortunately I haven't found any recipe for this yet. Has anyone seen anything similar or have a recipe for a cold start of CDAP sandbox?

2

There are 2 best solutions below

0
On

I'had the same isue. To solve the problem you have to delete or rename the tx.snapshot directory in the directory called data. It's ok for me without any reset.

0
On

As you have mentioned in the comment, deleting the data and logs directory will solve the problem, but it will reset the sandbox. CDAP sandbox is running on a single java process so it does not have High Availability (HA). When the process is killed suddenly, it may end up in a corrupted state.