questdb / questdb/questdb

java.lang.UnsupportedOperationException: Unsupported WAL txn type: -1

Open
#3,531 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
17.3k
Forks
1.6k
Avg merge
5d 10h
Merged PRs (30d)
28

Description

Describe the bug

I see following log when pushing db entry in influxdb line protocol:

2023-06-30T14:22:53.364191Z I i.q.c.p.WriterPool >> [table=`shelly_plugs_temperature1~24`, thread=26]
2023-06-30T14:22:53.364909Z I i.q.c.p.WriterPool << [table=`shelly_plugs_temperature1~24`, thread=26]
2023-06-30T14:22:53.364913Z I i.q.c.p.WriterPool >> [table=`shelly_plugs_meter1~23`, thread=25]
2023-06-30T14:22:53.364921Z C server-main unhandled error [job=io.questdb.cairo.wal.ApplyWal2TableJob@4196c360, ex=
java.lang.UnsupportedOperationException: Unsupported WAL txn type: -1
        at io.questdb.cairo.wal.ApplyWal2TableJob.processWalCommit(ApplyWal2TableJob.java:446)
        at io.questdb.cairo.wal.ApplyWal2TableJob.applyOutstandingWalTransactions(ApplyWal2TableJob.java:334)
        at io.questdb.cairo.wal.ApplyWal2TableJob.applyWAL(ApplyWal2TableJob.java:524)
        at io.questdb.cairo.wal.ApplyWal2TableJob.doRun(ApplyWal2TableJob.java:576)
        at io.questdb.mp.AbstractQueueConsumerJob.run(AbstractQueueConsumerJob.java:41)
        at io.questdb.mp.Worker.run(Worker.java:118)
]
2023-06-30T14:22:53.365738Z I i.q.c.p.WriterPool << [table=`shelly_plugs_meter1~23`, thread=25]
2023-06-30T14:22:53.365753Z C server-main unhandled error [job=io.questdb.cairo.wal.ApplyWal2TableJob@2141a12, ex=
java.lang.UnsupportedOperationException: Unsupported WAL txn type: -1
        at io.questdb.cairo.wal.ApplyWal2TableJob.processWalCommit(ApplyWal2TableJob.java:446)
        at io.questdb.cairo.wal.ApplyWal2TableJob.applyOutstandingWalTransactions(ApplyWal2TableJob.java:334)
        at io.questdb.cairo.wal.ApplyWal2TableJob.applyWAL(ApplyWal2TableJob.java:524)
        at io.questdb.cairo.wal.ApplyWal2TableJob.doRun(ApplyWal2TableJob.java:576)
        at io.questdb.mp.AbstractQueueConsumerJob.run(AbstractQueueConsumerJob.java:41)
        at io.questdb.mp.Worker.run(Worker.java:118)

Everything was working properly just before 24 of June 2023.
It's possible that server experienced some kind of unexpected shutdown around that time.

To reproduce

No response

Expected Behavior

No response

Environment
- **QuestDB version**:7.2
- **OS**: Docker hub docker image questdb/questdb:7.2
Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stack trace in ApplyWal2TableJob.java, especially processWalCommit, applyOutstandingWalTransactions, and applyWAL, and determine how a WAL transaction type of -1 is produced after the reported shutdown. Reproduce the failure using the affected WAL state if available, then verify that applying the WAL no longer raises the unsupported-transaction exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.