/** * Checks if this transaction needs previous value for the given tx entry. Will use passed in map to store * required key or will create new map if passed in map is {@code null}. * * @param e TX entry. * @param map Map with needed preload keys. * @return Map if it was created. */ private Map<Integer, Collection<KeyCacheObject>> checkNeedRebalanceKeys( IgniteTxEntry e, Map<Integer, Collection<KeyCacheObject>> map ) { if (retVal || !F.isEmpty(e.entryProcessors()) || !F.isEmpty(e.filters()) || e.entryReadVersion() != null) { if (map == null) map = new HashMap<>(); Collection<KeyCacheObject> keys = map.get(e.cacheId()); if (keys == null) { keys = new ArrayList<>(); map.put(e.cacheId(), keys); } keys.add(e.key()); } return map; }
/** * @param entries Entries. * @return Not null exception if version check failed. * @throws IgniteCheckedException If failed. */ @Nullable private IgniteCheckedException checkReadConflict(Iterable<IgniteTxEntry> entries) throws IgniteCheckedException { try { for (IgniteTxEntry entry : entries) { GridCacheVersion serReadVer = entry.entryReadVersion(); if (serReadVer != null) { entry.cached().unswap(); if (!entry.cached().checkSerializableReadVersion(serReadVer)) return versionCheckError(entry); } } } catch (GridCacheEntryRemovedException ignore) { assert false : "Got removed exception on entry with dht local candidate: " + entries; } return null; }
assert loadVer != null; e.entryReadVersion(singleRmv && val != null ? SER_READ_NOT_EMPTY_VER : loadVer);
txEntry.entryReadVersion(readVer);
GridCacheVersion serReadVer = txEntry.entryReadVersion();
assert loadVer != null; txEntry.entryReadVersion(loadVer);
ver = IgniteTxEntry.GET_ENTRY_INVALID_VER_UPDATED; else { ver = txEntry.entryReadVersion(); assert readVer != null; txEntry.entryReadVersion(readVer);
assert readVer != null; txEntry.entryReadVersion(singleRmv ? SER_READ_NOT_EMPTY_VER : readVer); assert readVer != null; txEntry.entryReadVersion(singleRmv ? SER_READ_NOT_EMPTY_VER : readVer);
"[locNodeId=" + cctx.localNodeId() + ", entry=" + entry1 + ']'; GridCacheVersion serReadVer = txEntry1.entryReadVersion();
/** * Checks if this transaction needs previous value for the given tx entry. Will use passed in map to store * required key or will create new map if passed in map is {@code null}. * * @param e TX entry. * @param map Map with needed preload keys. * @return Map if it was created. */ private Map<Integer, Collection<KeyCacheObject>> checkNeedRebalanceKeys( IgniteTxEntry e, Map<Integer, Collection<KeyCacheObject>> map ) { if (retVal || !F.isEmpty(e.entryProcessors()) || !F.isEmpty(e.filters()) || e.entryReadVersion() != null) { if (map == null) map = new HashMap<>(); Collection<KeyCacheObject> keys = map.get(e.cacheId()); if (keys == null) { keys = new ArrayList<>(); map.put(e.cacheId(), keys); } keys.add(e.key()); } return map; }
/** * @param entries Entries. * @return Not null exception if version check failed. * @throws IgniteCheckedException If failed. */ @Nullable private IgniteCheckedException checkReadConflict(Iterable<IgniteTxEntry> entries) throws IgniteCheckedException { try { for (IgniteTxEntry entry : entries) { GridCacheVersion serReadVer = entry.entryReadVersion(); if (serReadVer != null) { entry.cached().unswap(); if (!entry.cached().checkSerializableReadVersion(serReadVer)) return versionCheckError(entry); } } } catch (GridCacheEntryRemovedException ignore) { assert false : "Got removed exception on entry with dht local candidate: " + entries; } return null; }
assert loadVer != null; e.entryReadVersion(singleRmv && val != null ? SER_READ_NOT_EMPTY_VER : loadVer);
GridCacheVersion serReadVer = txEntry.entryReadVersion();
txEntry.entryReadVersion(readVer);
assert loadVer != null; txEntry.entryReadVersion(loadVer);
ver = IgniteTxEntry.GET_ENTRY_INVALID_VER_UPDATED; else { ver = txEntry.entryReadVersion(); assert readVer != null; txEntry.entryReadVersion(readVer);
assert readVer != null; txEntry.entryReadVersion(singleRmv ? SER_READ_NOT_EMPTY_VER : readVer); assert readVer != null; txEntry.entryReadVersion(singleRmv ? SER_READ_NOT_EMPTY_VER : readVer);
"[locNodeId=" + cctx.localNodeId() + ", entry=" + entry1 + ']'; GridCacheVersion serReadVer = txEntry1.entryReadVersion();