Ändern der Umsatzkategorie schlägt fehlt "Fehler beim Zuordnen der Umsatz-Kategorie" / Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM [...]"

 
jan-san
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 10 / 2019
Betreff:

Ändern der Umsatzkategorie schlägt fehlt "Fehler beim Zuordnen der Umsatz-Kategorie" / Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM [...]"

 · 
Gepostet: Gestern um 12:20 Uhr  ·  #1
Hallo allerseits,

Ich erhalte seit ein paar Tagen bei manchen (aber nicht allen) Umsätzen die Fehlermeldung "Fehler beim Zuordnen der Umsatz-Kategorie", wenn ich probiere, die Kategorie zu ändern.

In den System-Meldungen werden dazu folgende Einträge angezeigt:

Code
[Sun Feb 08 13:00:03 EET 2026][INFO][main][de.willuhn.jameica.hbci.gui.action.UmsatzAssign.rollback] rollback transaction
[Sun Feb 08 13:00:03 EET 2026][ERROR][main][de.willuhn.jameica.hbci.gui.action.UmsatzAssign.handleAction] error while assigning umsaetze
java.rmi.RemoteException: update failed; nested exception is: 
  org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set UMSATZTYP_ID=? where ID=27915 [50200-199]
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:775)
  at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:318)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.store(AbstractHibiscusDBObject.java:109)
  at de.willuhn.jameica.hbci.gui.action.UmsatzAssign.handleAction(UmsatzAssign.java:94)
  at de.willuhn.jameica.gui.parts.table.FeatureShortcut$2.handleEvent(FeatureShortcut.java:133)
  at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
  at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1977)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1655)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1665)
  at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1704)
  at org.eclipse.swt.widgets.Widget.gtk_key_release_event(Widget.java:1004)
  at org.eclipse.swt.widgets.Control.gtk_key_release_event(Control.java:4042)
  at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2640)
  at org.eclipse.swt.widgets.Control.windowProc(Control.java:6864)
  at org.eclipse.swt.widgets.Table.windowProc(Table.java:4162)
  at org.eclipse.swt.widgets.Display.windowProc(Display.java:6191)
  at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
  at org.eclipse.swt.widgets.Display.eventProc(Display.java:1619)
  at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4537)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:933)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:335)
  at de.willuhn.jameica.system.Application.init(Application.java:145)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
  at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set UMSATZTYP_ID=? where ID=27915 [50200-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:508)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  at org.h2.message.DbException.get(DbException.java:194)
  at org.h2.command.Command.filterConcurrentUpdate(Command.java:333)
  at org.h2.command.Command.executeUpdate(Command.java:274)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154)
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:752)
  ... 25 more
Caused by: org.h2.message.DbException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])" [90112-199]
  at org.h2.message.DbException.get(DbException.java:205)
  at org.h2.message.DbException.get(DbException.java:181)
  at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
  at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:335)
  at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
  at org.h2.table.PageStoreTable.removeRow(PageStoreTable.java:277)
  at org.h2.table.Table.updateRows(Table.java:506)
  at org.h2.command.dml.Update.update(Update.java:203)
  at org.h2.command.CommandContainer.update(CommandContainer.java:133)
  at org.h2.command.Command.executeUpdate(Command.java:267)
  ... 28 more
Caused by: org.h2.jdbc.JdbcSQLTransientException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])" [90112-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:621)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  ... 38 more

[Sun Feb 08 13:00:27 EET 2026][INFO][pool-3-thread-1][de.willuhn.jameica.hbci.messaging.MarkOverdueMessageConsumer.updateAll] update all unread counters
[Sun Feb 08 13:02:53 EET 2026][INFO][main][de.willuhn.jameica.hbci.gui.action.UmsatzAssign.rollback] rollback transaction
[Sun Feb 08 13:02:53 EET 2026][ERROR][main][de.willuhn.jameica.hbci.gui.action.UmsatzAssign.handleAction] error while assigning umsaetze
java.rmi.RemoteException: update failed; nested exception is: 
  org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set UMSATZTYP_ID=? where ID=27915 [50200-199]
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:775)
  at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:318)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.store(AbstractHibiscusDBObject.java:109)
  at de.willuhn.jameica.hbci.gui.action.UmsatzAssign.handleAction(UmsatzAssign.java:94)
  at de.willuhn.jameica.gui.parts.table.FeatureShortcut$2.handleEvent(FeatureShortcut.java:133)
  at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
  at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1977)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1655)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1665)
  at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1704)
  at org.eclipse.swt.widgets.Widget.gtk_key_release_event(Widget.java:1004)
  at org.eclipse.swt.widgets.Control.gtk_key_release_event(Control.java:4042)
  at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2640)
  at org.eclipse.swt.widgets.Control.windowProc(Control.java:6864)
  at org.eclipse.swt.widgets.Button.windowProc(Button.java:1341)
  at org.eclipse.swt.widgets.Display.windowProc(Display.java:6191)
  at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
  at org.eclipse.swt.widgets.Display.eventProc(Display.java:1619)
  at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4537)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:933)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:335)
  at de.willuhn.jameica.system.Application.init(Application.java:145)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
  at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set UMSATZTYP_ID=? where ID=27915 [50200-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:508)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  at org.h2.message.DbException.get(DbException.java:194)
  at org.h2.command.Command.filterConcurrentUpdate(Command.java:333)
  at org.h2.command.Command.executeUpdate(Command.java:274)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154)
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:752)
  ... 25 more
Caused by: org.h2.message.DbException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])" [90112-199]
  at org.h2.message.DbException.get(DbException.java:205)
  at org.h2.message.DbException.get(DbException.java:181)
  at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
  at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:335)
  at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
  at org.h2.table.PageStoreTable.removeRow(PageStoreTable.java:277)
  at org.h2.table.Table.updateRows(Table.java:506)
  at org.h2.command.dml.Update.update(Update.java:203)
  at org.h2.command.CommandContainer.update(CommandContainer.java:133)
  at org.h2.command.Command.executeUpdate(Command.java:267)
  ... 28 more
Caused by: org.h2.jdbc.JdbcSQLTransientException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_DATUM: ( /* key:27915 */ 27915, [redacted])" [90112-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:621)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  ... 38 more


Es scheint also eine Inkonsistenz zwischen den Daten in IDX_UMSATZ_DATUM und in UMSATZ zu geben. Möglicherweise sind die bei einem System-Crash entstanden.

Gibt es eine Möglichkeit, diese Indices neu generieren zu lassen?

Ich habe schon versucht, Jameica wie hier in den FAQs beschrieben im H2 im Recovery-Modus zu starten, aber das hat nicht geholfen.

Ich benutze die aktuellen nightly builds von Jameica und Hibiscus unter Linux:
  • Jameica 2.13.0-nightly [Datum 20260208]
  • Hibiscus 2.13.0-nightly [Datum 20260208], Datenbank-Version: 71
Gewählte Zitate für Mehrfachzitierung:   0