A Verification Protocol for Silent Tenant-Isolation Failures in Dynamically Routed Database-per-Tenant Applications

Applications that give each customer, or tenant, its own database must route every request to the right database at run time. In Spring applications the routing lookup commonly returns a default data source when it finds no entry, and when that default is the control-plane database, tenant work runs there without an error. This paper proposes a protocol of six verification classes, each stating a property, its instrumentation, and an observable read from the infrastructure, such as the database that answered, rather than from the application's response. With 16 threads resolving connections while the routing table was replaced a million times per second, rebuilding it in place with the framework's fallback sent 939 of 120,000 resolutions to the control-plane database without an error. Atomic replacement sent none for tenants in the table, but a tenant missing from it stayed off the control plane only when a missed lookup raised an error. Of twelve seeded faults, which re-create nine of eleven defects found by code review and add one synthetic fault, the protocol detected twelve and the existing functional suite one; the same tests asserting on responses detected six.

Authors

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-11-01
DOI
https://doi.org/10.5281/zenodo.23859398
Primary Topic
Software Testing and Debugging Techniques
Type
preprint
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
preprint

A Verification Protocol for Silent Tenant-Isolation Failures in Dynamically Routed Database-per-Tenant Applications

Kostiantyn Dementiev
2 links
Zenodo (CERN European Organization for Nuclear Research)
Software Testing and Debugging Techniques
preprint

A Verification Protocol for Silent Tenant-Isolation Failures in Dynamically Routed Database-per-Tenant Applications

Kostiantyn Dementiev
preprint en

Abstract

Applications that give each customer, or tenant, its own database must route every request to the right database at run time. In Spring applications the routing lookup commonly returns a default data source when it finds no entry, and when that default is the control-plane database, tenant work runs there without an error. This paper proposes a protocol of six verification classes, each stating a property, its instrumentation, and an observable read from the infrastructure, such as the database that answered, rather than from the application's response. With 16 threads resolving connections while the routing table was replaced a million times per second, rebuilding it in place with the framework's fallback sent 939 of 120,000 resolutions to the control-plane database without an error. Atomic replacement sent none for tenants in the table, but a tenant missing from it stayed off the control plane only when a missed lookup raised an error. Of twelve seeded faults, which re-create nine of eleven defects found by code review and add one synthetic fault, the protocol detected twelve and the existing functional suite one; the same tests asserting on responses detected six.

Zenodo (CERN European Organization for Nuclear Research)
Taras Shevchenko National University of Kyiv (UA)
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Laika access coming soon
A Verification Protocol for Silent Tenant-Isolation Failures in Dynamically Routed Database-per-Tenant Applications — Kostiantyn Dementiev · Zenodo (CERN European Organization for Nuclear Research) (2026) | TGRS Research Map | TGRS