You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In one thread, loop: deploy channel B, send a message through it, remove channel B.
In another thread, loop: GET /channels/{A}/statistics. GET /channels/statistics?channelId={A}&includeUndeployed=true fails the same way.
Expected:
A request naming channel A reads only what it needs to answer about channel A.
Actual:
Each request reads D_MS<n> for every channel the server knows about, A or not.
Roughly one request in forty fails with HTTP 500 under the loop above.
The server log shows DonkeyDaoException: java.sql.SQLSyntaxErrorException: Table/View 'D_MS<n>' does not exist,
for the channel being removed, not for A.
The client sees only {"message":"Request failed.","status":"500"}, because serialising the SQLException into the error response throws as well.
Repro:
GET /channels/{A}/statistics.GET /channels/statistics?channelId={A}&includeUndeployed=truefails the same way.Expected:
Actual:
D_MS<n>for every channel the server knows about, A or not.DonkeyDaoException: java.sql.SQLSyntaxErrorException: Table/View 'D_MS<n>' does not exist,for the channel being removed, not for A.
{"message":"Request failed.","status":"500"}, because serialising theSQLExceptioninto the error response throws as well.