remove transaction from TbLwM2mRedisRegistrationStore
This commit is contained in:
parent
161c3ad40e
commit
b4ce9e15cc
@ -247,7 +247,6 @@ public class DefaultLwM2MTransportMsgHandler implements LwM2mTransportMsgHandler
|
||||
* @param observations - !!! Warn: if have not finishing unReg, then this operation will be finished on next Client`s connect
|
||||
*/
|
||||
public void unReg(Registration registration, Collection<Observation> observations) {
|
||||
log.error("Client unRegistration -> test", new RuntimeException());
|
||||
unRegistrationExecutor.submit(() -> {
|
||||
try {
|
||||
this.sendLogsToThingsboard(LOG_LW2M_INFO + ": Client unRegistration", registration.getId());
|
||||
|
||||
@ -337,23 +337,24 @@ public class TbLwM2mRedisRegistrationStore implements CaliforniumRegistrationSto
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: JedisCluster didn't implement Transaction, maybe should use some advanced key creation strategies
|
||||
private void removeAddrIndex(RedisConnection connection, Registration registration) {
|
||||
// Watch the key to remove.
|
||||
byte[] regAddrKey = toRegAddrKey(registration.getSocketAddress());
|
||||
connection.watch(regAddrKey);
|
||||
// connection.watch(regAddrKey);
|
||||
|
||||
byte[] epFromAddr = connection.get(regAddrKey);
|
||||
// Delete the key if needed.
|
||||
if (Arrays.equals(epFromAddr, registration.getEndpoint().getBytes(UTF_8))) {
|
||||
// Try to delete the key
|
||||
connection.multi();
|
||||
// connection.multi();
|
||||
connection.del(regAddrKey);
|
||||
connection.exec();
|
||||
// connection.exec();
|
||||
// if transaction failed this is not an issue as the socket address is probably reused and we don't neeed to
|
||||
// delete it anymore.
|
||||
} else {
|
||||
// the key must not be deleted.
|
||||
connection.unwatch();
|
||||
// connection.unwatch();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user