Mongodb Невозможно сохранить состояние транзакции, так как отсутствует коллекция транзакций сеанса - PullRequest
0 голосов
/ 25 октября 2018

Я использую Mongodb 4 с пружинной загрузкой 2.1.0-M4

Следующий код работает локально на моем компьютере, но не работает в среде разработки:

@Transactional
public void registerNewUser(UserRegistrationForm registrationForm)
        throws IllegalArgumentException {

    validator.validate(registrationForm);

    User user = new User();
    user.setEmail(registrationForm.email);
    user.setPassword(encoder.encode(registrationForm.password));
    user.setEnabled(false);
    user.setGroups(Sets.newHashSet(ClientRoles.USER));

    User saved = userRepository.save(user);

    registrationService.sendInvitation(user.getEmail());
}

Со следующей ошибкой:

com.mongodb.MongoCommandException: Command failed with error 40527 (Location40527): 'Unable to persist transaction state because the session transaction collection is missing. This indicates that the config.transactions collection has been manually deleted.' on server mongodb-1-servers-vm-0:27017. The full response is { "operationTime" : { "$timestamp" : { "t" : 1540422989, "i" : 1 } }, "ok" : 0.0, "errmsg" : "Unable to persist transaction state because the session transaction collection is missing. This indicates that the config.transactions collection has been manually deleted.", "code" : 40527, "codeName" : "Location40527", "$clusterTime" : { "clusterTime" : { "$timestamp" : { "t" : 1540422994, "i" : 1 } }, "signature" : { "hash" : { "$binary" : "AAAAAAAAAAAAAAAAAAAAAAAAAAA=", "$type" : "00" }, "keyId" : { "$numberLong" : "0" } } } } at 

Я понятия не имею, что мне следует попробовать отладить, или что попробовать, обе базы данных имеют одинаковую версию и инициализированы наборы реплик.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 октября 2018

На самом деле, ошибка довольно очевидна.Похоже, что по какой-то причине transactions коллекция из среды разработки удалена.Исправление просто:

use config
db.createCollection("transactions",{})
...