Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Bug] docker compose down关闭之后无法启动,必须手动移除tsfile

Aberta
#18,203 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
docker, java
Domínio
databases

Direção de pesquisa

Reproduza a falha com a implantação do Docker Compose da versão 2.0.8 e, em seguida, inspecione a recuperação na inicialização em torno de UnsealedTsFileRecoverPerformer e os arquivos afetados em iotdb/data/datanode/data. Compare os logs de desligamento e reinicialização, especialmente os casos em que um .tsfile não possui seu arquivo .resource. Considera-se concluído quando o serviço é reiniciado com sucesso após um desligamento normal sem mover arquivos manualmente, com cobertura para o caso reproduzido se a área de testes relevante for identificada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Search before asking
  • I searched in the issues and found nothing similar.
Version

版本2.0.8,docker部署

Describe the bug and provide the minimal reproduce step

docker compose关闭服务,再启动时直接报错:
Aborting due to java.lang.OutOfMemoryError: Java heap space # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (debug.cpp:362), pid=7, tid=468 # fatal error: OutOfMemory encountered: Java heap space # # JRE version: OpenJDK Runtime Environment Temurin-17.0.15+6 (17.0.15+6) (build 17.0.15+6) # Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.15+6 (17.0.15+6, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64) # Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %d" (or dumping to /iotdb/sbin/core.7) # # An error report file with more information is saved as: # /iotdb/sbin/hs_err_pid7.log 2026-07-14 08:51:04,653 [pool-39-IoTDB-TsFile-Recover-2] INFO o.a.i.d.s.d.w.r.f.UnsealedTsFileRecoverPerformer:291 - The compression ratio of tsfile /iotdb/data/datanode/data/sequence/iot_data/8/2949/1784016833721-8-0-0.tsfile is 0.00, totalMemTableSize: 0, the file size: 3867189

解决方案:按gpt提示,通过以下命令找到缺少resource的tsfile:

find ./iotdb/data/datanode/data -type f -name '*.tsfile' |
while IFS= read -r file; do
  [ -f "${file}.resource" ] || echo "$file"
done | tee /tmp/tsfiles-without-resource.txt

wc -l /tmp/tsfiles-without-resource.txt

然后将这几个文件移动走,才能正常启动服务。

What did you expect to see?

服务关闭之后能够自行正常启动,这是一个基本能力。

What did you see instead?

服务实现优雅关闭

Anything else?

No response

Are you willing to submit a PR?
  • I'm willing to submit a PR!
Linguagem predominante
Java
Estrelas
6.4k
Forks
1.2k
Merge médio
1d 11h
PRs com merge (30d)
182

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/iotdb

Todas as issues de apache/iotdb

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.