Skip to content

Commit 0700791

Browse files
authored
EC-795 (#392)
* add logging and change logic of elem inserting * fix logging * change test
1 parent f64986e commit 0700791

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/main/scala/encry/storage/levelDb/versionalLevelDB/VersionalLevelDB.scala

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,11 @@ case class VersionalLevelDB(db: DB, settings: LevelDBSettings) extends StrictLog
9898
}
9999
newElem.elemsToDelete.foreach { elemKey =>
100100
val possibleMap = db.get(userKey(elemKey), readOptions)
101-
val accessMap =
102-
if (possibleMap != null) util.Arrays.copyOfRange(possibleMap, 1, possibleMap.length)
103-
else Array.emptyByteArray
104-
batch.put(userKey(elemKey), INACCESSIBLE_KEY_PREFIX +: accessMap)
101+
if (possibleMap != null) {
102+
val accessMap = util.Arrays.copyOfRange(possibleMap, 1, possibleMap.length)
103+
batch.put(userKey(elemKey), INACCESSIBLE_KEY_PREFIX +: accessMap)
104+
} else
105+
logger.info(s"trying to delete empty key ${Algos.encode(elemKey)} in ver ${Algos.encode(newElem.version)}")
105106
}
106107
db.write(batch)
107108
clean()
@@ -163,7 +164,10 @@ case class VersionalLevelDB(db: DB, settings: LevelDBSettings) extends StrictLog
163164
}
164165
deletions.foreach { elemKey =>
165166
val accessMap = db.get(userKey(VersionalLevelDbKey @@ elemKey), readOptions)
166-
writeBatch.put(userKey(VersionalLevelDbKey @@ elemKey), ACCESSIBLE_KEY_PREFIX +: accessMap.drop(1))
167+
logger.info(s"accessMap of key(delete) ${Algos.encode(elemKey)} in rollback resolver is: " +
168+
s"${if (accessMap != null) Algos.encode(accessMap) else null}")
169+
if (accessMap != null)
170+
writeBatch.put(userKey(VersionalLevelDbKey @@ elemKey), ACCESSIBLE_KEY_PREFIX +: accessMap.drop(1))
167171
}
168172
writeBatch.delete(versionKey(versionToResolve))
169173
writeBatch.delete(versionDeletionsKey(versionToResolve))

src/test/scala/encry/storage/levelDb/versionalLevelDB/VersionalLevelDBTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ class VersionalLevelDBTest extends PropSpec with Matchers with LevelDbUnitsGener
269269

270270
val maxVersions = Random.nextInt(10)
271271

272-
val levelDbElemsQty = maxVersions + Random.nextInt(5) + 1
272+
val levelDbElemsQty = maxVersions + 5
273273

274274
val dummyLevelDBSettings: LevelDBSettings = LevelDBSettings(maxVersions)
275275

0 commit comments

Comments
 (0)