aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf
diff options
context:
space:
mode:
authorhor911 <hor911@ydb.tech>2023-10-17 15:57:34 +0300
committerhor911 <hor911@ydb.tech>2023-10-17 16:41:58 +0300
commit75a44bce0d6f80863c71b1f16a97f85daf56bb93 (patch)
tree3134ed0e6e3e507dd82d1f3d7e787fb27b9b2525 /library/cpp/protobuf
parent8597717cabc3494c940fc04b1e3ff1a8ab92b151 (diff)
downloadydb-75a44bce0d6f80863c71b1f16a97f85daf56bb93.tar.gz
Add EXTERNAL_ERROR to YdbStatusCode
В связи с появлением функциональности федеративных запросов, которые обращаются ко внешним источникам данных, требуется новый статус EXTERNAL_ERROR Его семантика: --неведомая хрень-- неизвестная системе ошибка во внешнем источнике данных, non-retriable Его следует возвращать, когда внешний источник (положим S3) вернул какую-то ошибку, а система не смогла ее обработать. Далеко не все ошибки следует транслировать в этот статус, все знакомые и понятные ошибки надо обрабатывать (ретраить) на месте или возвращать какой-то другой понятный статус. Например, если в источнике отсутствует какой-то столбец, он используется в запросе и это можно понять только в runtime (при запуске запроса), то подходящим статусом может быть BAD_REQUEST. EXTERNAL_ERROR - это именно про ту ошибку, которую система не смогла понять. Аналог INTERNAL_ERROR, но применительно ко внешней системе. По возможности следует докинуть подробностей через Issues, От пользователя требуется почитать Issues и попытаться понять, что с этим можно сделать, потому что автоматически ошибка может не исправиться. Например, может иметь смысл повторить запрос, но только в ручном режиме, автоматические ретраи тут не планируются.
Diffstat (limited to 'library/cpp/protobuf')
0 files changed, 0 insertions, 0 deletions