Itgenisr046 The table can not be created (SLE), itgenisr011 There is already an in-memory table with name 'SLE'

Bij het draaien van een verkoopanalyserapport dat leidt tot een overzicht van de bonussen per vertegenwoordiger en kanaal krijg ik de foutmelding bij het starten van de applicatiemodule in Invantive Cloud de foutmelding:

itgenisr046: The table can not be created. (SLE).
itgenisr011: There is already an in-memory table with name ‘SLE’. This table with 168.243 rows was created at 04-12-2021 10:03:38 (UTC).

Hoe draai ik die module?

Invantive Cloud staat het individuele gebruikers toe om dezelfde applicatiemodule herhaaldelijk te starten. Dat kan bijvoorbeeld door op F5 (“Verversen”) te drukken in de browser.

Anders dan bijvoorbeeld veel webapplicaties die maar één sessie per gebruiker ondersteunen (zoals Exact Online) kunnen meerdere verwerkingen tegelijk plaatsvinden. Hierdoor is Invantive Cloud in staat om een hoge doorvoersnelheid te bereiken waarin tientallen of honderden web applicatieverzoeken met bijvoorbeeld Invantive App Online of honderden downloads tegelijk via Invantive Bridge Online plaatsvinden.

De applicatielogica dient hiermee wel rekening te houden. Deze module gebruikt een tijdelijke tabel in het geheugen zoals blijkt uit het voorvoegsel itgenisr dat staat voor itgen plus de afkorting van InMemoryStorageProvider. Deze tabel is tegelijk voor alle sessies van de gebruiker zichtbaar. Ook het vervangen gebeurt gelijktijdig.

De applicatielogica voorziet er blijkbaar niet in dat dezelfde gebruiker herhaaldelijk tegelijk dezelfde rapportage draait. Mogelijkerwijs zijn de eerdere sessies afgebroken met F5 voordat de applicatiemodule klaar was.

Op dit moment zijn er geen plannen om een sessie-specifieke in-memory driver te maken; in-memory tabellen zijn qua bestaan en inhoud voor alle sessies van dezelfde gebruiker tegelijk zichtbaar.

Op dit moment zijn er geen plannen om het afbreken van sessies via HTTP2 RST_STREAM te gaan ondersteunen. De overgang naar het nieuwe cluster zal eerst afgerond worden.

Advies voor de korte termijn is om een half uur te wachten tot de applicatiemodule klaar is met de berekening en dan nogmaals te proberen.

Een alternatief is om met een aparte database-omgeving per sessie te werken, maar dat is relatief kostbaar.

Inmiddels wordt HTTP2 RST_STREAM ondersteund, waardoor vrijwel altijd sessies afgebroken worden zodra de gebruiker in de browser of Power BI wegnavigeert.