Код: Выделить всё
from griddb_python import StoreFactory, GSException
def perform_cluster_operations():
try:
factory = StoreFactory.get_default()
gridstore = factory.get_store({
"host": "239.0.0.1",
"port": 41999,
"cluster_name": "defaultCluster",
"username": "admin",
"password": "admin"
})
# Retrieve container for performing transactions
container = gridstore.get_container("containerName")
if container is None:
raise Exception("Container not found")
# Attempt a read transaction on the container
row = container.get(1)
print(f"Row retrieved: {row}")
# Perform a write transaction to update a row
container.put(2, {"id": 2, "value": "newValue"})
print("Row updated successfully.")
except GSException as e:
print(f"Transaction failed: {e.what()}")
raise
if __name__ == "__main__":
perform_cluster_operations()
Операции включают простую обработку транзакций для получения и обновления строк.
Однако , я часто сталкиваюсь с ошибкой TXN_REQUEST_IGNORED ERROR 10906. Эта ошибка предполагает, что событие неизвестно, возможно, из-за несовпадения версий кластера на узлах.
Вот некоторые дополнительные сведения о моей настройке:
Вот некоторые дополнительные сведения о моей настройке:
Операционная система: Ubuntu 20.04
Версия Python: 3.8
Версия GridDB: смесь версий на разных узлах (некоторые узлы могут иметь версию 4.5, другие — 4.4)
Размер кластера: 5 узлов
Я подозреваю, что эта проблема может быть связана с тем, что разные версии GridDB работают на разных узлах. Мне нужны рекомендации:
Как проверить версию GridDB, работающую на каждом узле.
Может ли это несоответствие версий быть причиной ошибки TXN_REQUEST_IGNORED 10906.
Шаги по обновлению или синхронизации версий в кластере, чтобы избежать этой ошибки.
Кто-нибудь сталкивался с этой проблемой в GridDB? Есть идеи, как решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -unknown-e