получить ошибку при вызове put_all из тонкого клиента Python - PullRequest
1 голос
/ 11 декабря 2019

Я работаю над примером "create_binary.py", вместо того, чтобы помещать в кеш, я попытался put_all для нескольких записей в кеше. Хотя put успешно, но put_all выдает ошибку.

student_cache = client.get_or_create_cache({
    PROP_NAME: 'SQL_PUBLIC_STUDENT',
    PROP_SQL_SCHEMA: 'PUBLIC',
    PROP_QUERY_ENTITIES: [
        {
            'table_name': 'Student'.upper(),
            'key_field_name': 'SID',
            'key_type_name': 'java.lang.Integer',
            'field_name_aliases': [],
            'query_fields': [
                {
                    'name': 'SID',
                    'type_name': 'java.lang.Integer',
                    'is_key_field': True,
                    'is_notnull_constraint_field': True,
                },
                {
                    'name': 'NAME',
                    'type_name': 'java.lang.String',
                },
                {
                    'name': 'LOGIN',
                    'type_name': 'java.lang.String',
                },
                {
                    'name': 'AGE',
                    'type_name': 'java.lang.Integer',
                },
                {
                    'name': 'GPA',
                    'type_name': 'java.math.Double',
                },
            ],
            'query_indexes': [],
            'value_type_name': 'SQL_PUBLIC_STUDENT_TYPE',
            'value_field_name': None,
        },
    ],
})

put работает нормально

student_cache.put(
1,
Student(LOGIN='jdoe', NAME='John Doe', AGE=17, GPA=4.25),
key_hint=IntObject
)

put_all не работает

student_cache.put_all({1: Student(LOGIN='jdoe', NAME='John Doe', AGE=17, GPA=4.25), 2: Student(LOGIN='jdoe2', NAME='John Doe2', AGE=18, GPA=4.25)})

put_allвыдает ошибку:

Трассировка (последний последний вызов): файл «C: /ignite/pyignite/examples/create_binary.py», строка 105, в student_cache.put_all ({1: Student (LOGIN)= 'jdoe', NAME = 'John Doe', AGE = 17, GPA = 4.25), 2: Студент (LOGIN = 'jdoe2', NAME = 'John Doe2', AGE = 18, GPA = 4.25)}) Файл "C: \ Users \ nbkmqoi \ AppData \ Roaming \ Python \ Python35 \ site-packages \ pyignite \ utils.py ", строка 169, в ste_wrapper повысить exc (result.message) pyignite.exceptions.CacheError: не удалось обновить ключи (повторить попыткуобновите, если возможно) .: [1, 2]

Как заставить работать put_all? Спасибо!

...