Skip to content

Commit

Permalink
JT-78303: Experiment with expected hit rate
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimir-zatsepin committed Jan 17, 2024
1 parent 51b0bad commit 456c392
Showing 1 changed file with 12 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package jetbrains.exodus.entitystore

import jetbrains.exodus.entitystore.PersistentEntityStoreConfig.ENTITY_ITERABLE_CACHE_MEMORY_PERCENTAGE
import jetbrains.exodus.entitystore.PersistentEntityStoreConfig.ENTITY_ITERABLE_CACHE_SIZE
import mu.KLogger
import mu.KLogging
import java.util.concurrent.CountDownLatch
Expand Down Expand Up @@ -55,7 +54,7 @@ class EntityIterableCacheTest : EntityStoreTestBase() {
val projects = Project.createMany(1, store)
val users = User.createMany(1, store)
val issues = Issue.createMany(1, projects, users, store)
val test = TestCase(store, projects, users, issues, 1)
val test = TestCase(store, projects, users, issues)

// When
test.queryAssignedIssues() // Miss
Expand All @@ -71,7 +70,6 @@ class EntityIterableCacheTest : EntityStoreTestBase() {

fun testHitRate() {
// Given
// Use these params to experiment with cache locally
val projectCount = 2
val userCount = 20
val issueCount = 1000
Expand All @@ -86,7 +84,7 @@ class EntityIterableCacheTest : EntityStoreTestBase() {
val projects = Project.createMany(projectCount, store)
val users = User.createMany(userCount, store)
val issues = Issue.createMany(issueCount, projects, users, store)
val test = TestCase(store, projects, users, issues, queryCount)
val test = TestCase(store, projects, users, issues)

// When
logger.info("Running $queryCount queries...")
Expand Down Expand Up @@ -115,7 +113,7 @@ class EntityIterableCacheTest : EntityStoreTestBase() {
// Then
reportInLogEntityIterableCacheStats()
val actualHitRate = store.entityIterableCache.stats.hitRate
val expectedHitRate = 0.8
val expectedHitRate = 0.5
println("Actual hitRate: $actualHitRate")
assertTrue(
"hitRate should be more or equal to $expectedHitRate, but was $actualHitRate",
Expand Down Expand Up @@ -196,8 +194,7 @@ class EntityIterableCacheTest : EntityStoreTestBase() {
val store: PersistentEntityStoreImpl,
val projects: List<Entity>,
val users: List<Entity>,
val issues: List<Entity>,
val queryCount: Int
val issues: List<Entity>
) {

companion object : KLogging()
Expand Down Expand Up @@ -261,6 +258,14 @@ class EntityIterableCacheTest : EntityStoreTestBase() {
}
}

fun changeIssueTitle() {
val issue = issues.random(rnd)
val title = testData.chuckNorrisFact()
store.executeInTransaction { tx ->
issue.setProperty("title", title)
}
}

fun KLogger.logQueryResult(message: String) {
if (logQueryResult) info(message)
}
Expand Down

0 comments on commit 456c392

Please sign in to comment.