rishi-rana commented on issue #39052: URL: https://github.com/apache/shardingsphere/issues/39052#issuecomment-5534158502
Investigated all 5 sub-cases and confirmed each against current master: - **op_put_segment / op_batch_segments on unknown handle** and **op_put_segment after op_close_blob** are the same underlying gap: `FirebirdBlobWriteCache.appendSegment()` already detects both (returns `OptionalInt.empty()`), but `FirebirdPutBlobSegmentCommandExecutor` and `FirebirdBatchBlobSegmentsCommandExecutor` discard that result and report success anyway. One fix covers both. - **op_open_blob / op_open_blob2 on unknown BLOB id**: confirmed in `FirebirdOpenBlobCommandExecutor` — `getBlobContent()` returning `null` is never checked. - **Unknown/unclosed BLOB parameter on statement execute**: confirmed in `FirebirdExecuteStatementCommandExecutor.bindBlobParameters()` — silently binds `null` instead of erroring. For these four I'll follow the error-handling pattern from #38927 (new `FirebirdVendorError` entries for `isc_bad_segstr_handle` / `isc_bad_segstr_id`, matching exception classes, `FirebirdDialectExceptionMapper` registration). One open question on the 5th item — **isc_blobtoobig**: there's currently no size-limit tracking anywhere (`FirebirdBlobWrite` buffers into an unbounded `ByteArrayOutputStream`), and unlike the other four this isn't "wire an existing signal to an error" — it needs a genuinely new limit. Firebird itself has no fixed protocol-level blob size ceiling, so this would be a ShardingSphere-proxy-specific in-memory buffering guard. Before I pick a number: should this be a hardcoded constant, or a configurable proxy property? Happy to go with whichever you'd prefer, or split it into a follow-up issue/PR so it doesn't block the other four. Planning to send a PR shortly covering the first four; will hold off on isc_blobtoobig pending your input. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
