Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
briar
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Julian Dehm
briar
Commits
0b9894a0
Verified
Commit
0b9894a0
authored
7 years ago
by
akwizgran
Browse files
Options
Downloads
Patches
Plain Diff
More performance tests.
parent
1a912a29
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java
+337
-19
337 additions, 19 deletions
.../briarproject/bramble/db/JdbcDatabasePerformanceTest.java
with
337 additions
and
19 deletions
bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabasePerformanceTest.java
+
337
−
19
View file @
0b9894a0
package
org.briarproject.bramble.db
;
import
org.briarproject.bramble.api.contact.Contact
;
import
org.briarproject.bramble.api.contact.ContactId
;
import
org.briarproject.bramble.api.db.DatabaseConfig
;
import
org.briarproject.bramble.api.db.DbException
;
import
org.briarproject.bramble.api.db.Metadata
;
import
org.briarproject.bramble.api.identity.Author
;
import
org.briarproject.bramble.api.identity.Author
Id
;
import
org.briarproject.bramble.api.identity.LocalAuthor
;
import
org.briarproject.bramble.api.sync.ClientId
;
import
org.briarproject.bramble.api.sync.Group
;
import
org.briarproject.bramble.api.sync.GroupId
;
import
org.briarproject.bramble.api.sync.Message
;
import
org.briarproject.bramble.api.sync.MessageId
;
import
org.briarproject.bramble.api.sync.ValidationManager.State
;
import
org.briarproject.bramble.api.system.Clock
;
import
org.briarproject.bramble.system.SystemClock
;
...
...
@@ -31,6 +33,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Random
;
import
static
org
.
briarproject
.
bramble
.
api
.
sync
.
SyncConstants
.
MAX_MESSAGE_IDS
;
import
static
org
.
briarproject
.
bramble
.
api
.
sync
.
ValidationManager
.
State
.
DELIVERED
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
deleteTestDirectory
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getAuthor
;
...
...
@@ -40,6 +43,7 @@ import static org.briarproject.bramble.test.TestUtils.getMean;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getMedian
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getMessage
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getRandomBytes
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getRandomId
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getStandardDeviation
;
import
static
org
.
briarproject
.
bramble
.
test
.
TestUtils
.
getTestDirectory
;
import
static
org
.
briarproject
.
bramble
.
test
.
UTest
.
Result
.
INCONCLUSIVE
;
...
...
@@ -83,6 +87,7 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
private
static
final
int
METADATA_KEYS_PER_MESSAGE
=
5
;
private
static
final
int
METADATA_KEY_LENGTH
=
10
;
private
static
final
int
METADATA_VALUE_LENGTH
=
100
;
private
static
final
int
OFFERED_MESSAGES_PER_CONTACT
=
100
;
/**
* How many times to run each benchmark while measuring.
...
...
@@ -92,10 +97,14 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
private
final
File
testDir
=
getTestDirectory
();
private
final
Random
random
=
new
Random
();
private
LocalAuthor
localAuthor
;
private
List
<
ClientId
>
clientIds
;
private
List
<
Contact
>
contacts
;
private
List
<
Group
>
groups
;
private
List
<
Message
>
messages
;
private
Map
<
GroupId
,
List
<
Metadata
>>
messageMeta
;
private
Map
<
ContactId
,
List
<
Group
>>
contactGroups
;
private
Map
<
GroupId
,
List
<
MessageId
>>
groupMessages
;
protected
abstract
String
getTestName
();
...
...
@@ -112,6 +121,88 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
deleteTestDirectory
(
testDir
);
}
@Test
public
void
testContainsContactByAuthorId
()
throws
Exception
{
String
name
=
"containsContact(T, AuthorId, AuthorId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
AuthorId
remote
=
pickRandom
(
contacts
).
getAuthor
().
getId
();
db
.
containsContact
(
txn
,
remote
,
localAuthor
.
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testContainsContactByContactId
()
throws
Exception
{
String
name
=
"containsContact(T, ContactId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
containsContact
(
txn
,
pickRandom
(
contacts
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testContainsGroup
()
throws
Exception
{
String
name
=
"containsGroup(T, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
containsGroup
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testContainsLocalAuthor
()
throws
Exception
{
String
name
=
"containsLocalAuthor(T, AuthorId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
containsLocalAuthor
(
txn
,
localAuthor
.
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testContainsMessage
()
throws
Exception
{
String
name
=
"containsMessage(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
containsMessage
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testContainsVisibleMessage
()
throws
Exception
{
String
name
=
"containsVisibleMessage(T, ContactId, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
containsVisibleMessage
(
txn
,
pickRandom
(
contacts
).
getId
(),
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testCountOfferedMessages
()
throws
Exception
{
String
name
=
"countOfferedMessages(T, ContactId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
countOfferedMessages
(
txn
,
pickRandom
(
contacts
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetContact
()
throws
Exception
{
String
name
=
"getContact(T, ContactId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getContact
(
txn
,
pickRandom
(
contacts
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetContacts
()
throws
Exception
{
String
name
=
"getContacts(T)"
;
...
...
@@ -123,11 +214,114 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
}
@Test
public
void
testGet
RawMessage
()
throws
Exception
{
String
name
=
"get
RawMessage(T, Message
Id)"
;
public
void
testGet
ContactsByRemoteAuthorId
()
throws
Exception
{
String
name
=
"get
ContactsByAuthorId(T, Author
Id)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getRawMessage
(
txn
,
pickRandom
(
messages
).
getId
());
AuthorId
remote
=
pickRandom
(
contacts
).
getAuthor
().
getId
();
db
.
getContactsByAuthorId
(
txn
,
remote
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetContactsByLocalAuthorId
()
throws
Exception
{
String
name
=
"getContacts(T, AuthorId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getContacts
(
txn
,
localAuthor
.
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetGroup
()
throws
Exception
{
String
name
=
"getGroup(T, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getGroup
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetGroupMetadata
()
throws
Exception
{
String
name
=
"getGroupMetadata(T, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getGroupMetadata
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetGroups
()
throws
Exception
{
String
name
=
"getGroups(T, ClientId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getGroups
(
txn
,
pickRandom
(
clientIds
));
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetGroupVisibilityWithContactId
()
throws
Exception
{
String
name
=
"getGroupVisibility(T, ContactId, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
ContactId
c
=
pickRandom
(
contacts
).
getId
();
db
.
getGroupVisibility
(
txn
,
c
,
pickRandom
(
contactGroups
.
get
(
c
)).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetGroupVisibility
()
throws
Exception
{
String
name
=
"getGroupVisibility(T, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getGroupVisibility
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetLocalAuthor
()
throws
Exception
{
String
name
=
"getLocalAuthor(T, AuthorId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getLocalAuthor
(
txn
,
localAuthor
.
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetLocalAuthors
()
throws
Exception
{
String
name
=
"getLocalAuthors(T)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getLocalAuthors
(
txn
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageDependencies
()
throws
Exception
{
String
name
=
"getMessageDependencies(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessageDependencies
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageDependents
()
throws
Exception
{
String
name
=
"getMessageDependents(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessageDependents
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
...
...
@@ -144,7 +338,7 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
@Test
public
void
testGetMessageIdsWithMatchingQuery
()
throws
Exception
{
String
name
=
"getMessageIds(T, GroupId, Metadata)"
;
String
name
=
"getMessageIds(T, GroupId, Metadata)
[match]
"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
GroupId
g
=
pickRandom
(
groups
).
getId
();
...
...
@@ -155,7 +349,7 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
@Test
public
void
testGetMessageIdsWithNonMatchingQuery
()
throws
Exception
{
String
name
=
"getMessageIds(T, GroupId, Metadata)"
;
String
name
=
"getMessageIds(T, GroupId, Metadata)
[no match]
"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
Metadata
query
=
getMetadata
(
METADATA_KEYS_PER_MESSAGE
);
...
...
@@ -165,31 +359,110 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
}
@Test
public
void
testGet
Group
Metadata
()
throws
Exception
{
String
name
=
"get
Group
Metadata(T, GroupId)"
;
public
void
testGet
Message
Metadata
ByGroupId
()
throws
Exception
{
String
name
=
"get
Message
Metadata(T, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
get
Group
Metadata
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
get
Message
Metadata
(
txn
,
pickRandom
(
groups
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageMetadata
ForGroup
()
throws
Exception
{
String
name
=
"getMessageMetadata(T,
Group
Id)"
;
public
void
testGetMessageMetadata
ByMessageId
()
throws
Exception
{
String
name
=
"getMessageMetadata(T,
Message
Id)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessageMetadata
(
txn
,
pickRandom
(
group
s
).
getId
());
db
.
getMessageMetadata
(
txn
,
pickRandom
(
message
s
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageMetadataFor
Message
()
throws
Exception
{
String
name
=
"getMessageMetadata(T, MessageId)"
;
public
void
testGetMessageMetadataFor
Validator
()
throws
Exception
{
String
name
=
"getMessageMetadata
ForValidator
(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessageMetadata
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
getMessageMetadataForValidator
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageState
()
throws
Exception
{
String
name
=
"getMessageState(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessageState
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageStatusByGroupId
()
throws
Exception
{
String
name
=
"getMessageStatus(T, ContactId, GroupId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
ContactId
c
=
pickRandom
(
contacts
).
getId
();
GroupId
g
=
pickRandom
(
contactGroups
.
get
(
c
)).
getId
();
db
.
getMessageStatus
(
txn
,
c
,
g
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessageStatusByMessageId
()
throws
Exception
{
String
name
=
"getMessageStatus(T, ContactId, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
ContactId
c
=
pickRandom
(
contacts
).
getId
();
GroupId
g
=
pickRandom
(
contactGroups
.
get
(
c
)).
getId
();
db
.
getMessageStatus
(
txn
,
c
,
pickRandom
(
groupMessages
.
get
(
g
)));
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessagesToAck
()
throws
Exception
{
String
name
=
"getMessagesToAck(T, ContactId, int)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessagesToAck
(
txn
,
pickRandom
(
contacts
).
getId
(),
MAX_MESSAGE_IDS
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessagesToOffer
()
throws
Exception
{
String
name
=
"getMessagesToOffer(T, ContactId, int)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessagesToOffer
(
txn
,
pickRandom
(
contacts
).
getId
(),
MAX_MESSAGE_IDS
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessagesToRequest
()
throws
Exception
{
String
name
=
"getMessagesToRequest(T, ContactId, int)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessagesToRequest
(
txn
,
pickRandom
(
contacts
).
getId
(),
MAX_MESSAGE_IDS
);
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetMessagesToSend
()
throws
Exception
{
String
name
=
"getMessagesToSend(T, ContactId, int)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getMessagesToSend
(
txn
,
pickRandom
(
contacts
).
getId
(),
MAX_MESSAGE_IDS
);
db
.
commitTransaction
(
txn
);
});
}
...
...
@@ -224,6 +497,27 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
});
}
@Test
public
void
testGetRawMessage
()
throws
Exception
{
String
name
=
"getRawMessage(T, MessageId)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getRawMessage
(
txn
,
pickRandom
(
messages
).
getId
());
db
.
commitTransaction
(
txn
);
});
}
@Test
public
void
testGetRequestedMessagesToSend
()
throws
Exception
{
String
name
=
"getRequestedMessagesToSend(T, ContactId, int)"
;
benchmark
(
name
,
db
->
{
Connection
txn
=
db
.
startTransaction
();
db
.
getRequestedMessagesToSend
(
txn
,
pickRandom
(
contacts
).
getId
(),
MAX_MESSAGE_IDS
);
db
.
commitTransaction
(
txn
);
});
}
private
<
T
>
T
pickRandom
(
List
<
T
>
list
)
{
return
list
.
get
(
random
.
nextInt
(
list
.
size
()));
}
...
...
@@ -270,26 +564,32 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
}
private
void
populateDatabase
(
Database
<
Connection
>
db
)
throws
DbException
{
localAuthor
=
getLocalAuthor
();
clientIds
=
new
ArrayList
<>();
contacts
=
new
ArrayList
<>();
groups
=
new
ArrayList
<>();
messages
=
new
ArrayList
<>();
messageMeta
=
new
HashMap
<>();
contactGroups
=
new
HashMap
<>();
groupMessages
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
CLIENTS
;
i
++)
clientIds
.
add
(
getClientId
());
Connection
txn
=
db
.
startTransaction
();
LocalAuthor
localAuthor
=
getLocalAuthor
();
db
.
addLocalAuthor
(
txn
,
localAuthor
);
for
(
int
i
=
0
;
i
<
CONTACTS
;
i
++)
{
Author
a
=
getAuthor
();
ContactId
contactId
=
db
.
addContact
(
txn
,
a
,
localAuthor
.
getId
(),
ContactId
c
=
db
.
addContact
(
txn
,
getAuthor
(),
localAuthor
.
getId
(),
random
.
nextBoolean
(),
true
);
contacts
.
add
(
db
.
getContact
(
txn
,
c
));
contactGroups
.
put
(
c
,
new
ArrayList
<>());
for
(
int
j
=
0
;
j
<
GROUPS_PER_CONTACT
;
j
++)
{
Group
g
=
getGroup
(
clientIds
.
get
(
j
%
CLIENTS
));
groups
.
add
(
g
);
messageMeta
.
put
(
g
.
getId
(),
new
ArrayList
<>());
contactGroups
.
get
(
c
).
add
(
g
);
groupMessages
.
put
(
g
.
getId
(),
new
ArrayList
<>());
db
.
addGroup
(
txn
,
g
);
db
.
addGroupVisibility
(
txn
,
c
ontactId
,
g
.
getId
(),
true
);
db
.
addGroupVisibility
(
txn
,
c
,
g
.
getId
(),
true
);
Metadata
gm
=
getMetadata
(
METADATA_KEYS_PER_GROUP
);
db
.
mergeGroupMetadata
(
txn
,
g
.
getId
(),
gm
);
for
(
int
k
=
0
;
k
<
MESSAGES_PER_GROUP
;
k
++)
{
...
...
@@ -297,16 +597,29 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
messages
.
add
(
m
);
State
state
=
State
.
fromValue
(
random
.
nextInt
(
4
));
db
.
addMessage
(
txn
,
m
,
state
,
random
.
nextBoolean
());
db
.
addStatus
(
txn
,
c
,
m
.
getId
(),
random
.
nextBoolean
(),
random
.
nextBoolean
());
if
(
random
.
nextBoolean
())
db
.
raiseRequestedFlag
(
txn
,
c
,
m
.
getId
());
Metadata
mm
=
getMetadata
(
METADATA_KEYS_PER_MESSAGE
);
messageMeta
.
get
(
g
.
getId
()).
add
(
mm
);
db
.
mergeMessageMetadata
(
txn
,
m
.
getId
(),
mm
);
if
(
k
>
0
)
{
db
.
addMessageDependency
(
txn
,
g
.
getId
(),
m
.
getId
(),
pickRandom
(
groupMessages
.
get
(
g
.
getId
())));
}
groupMessages
.
get
(
g
.
getId
()).
add
(
m
.
getId
());
}
}
for
(
int
j
=
0
;
j
<
OFFERED_MESSAGES_PER_CONTACT
;
j
++)
{
db
.
addOfferedMessage
(
txn
,
c
,
new
MessageId
(
getRandomId
()));
}
}
for
(
int
i
=
0
;
i
<
LOCAL_GROUPS
;
i
++)
{
Group
g
=
getGroup
(
clientIds
.
get
(
i
%
CLIENTS
));
groups
.
add
(
g
);
messageMeta
.
put
(
g
.
getId
(),
new
ArrayList
<>());
groupMessages
.
put
(
g
.
getId
(),
new
ArrayList
<>());
db
.
addGroup
(
txn
,
g
);
Metadata
gm
=
getMetadata
(
METADATA_KEYS_PER_GROUP
);
db
.
mergeGroupMetadata
(
txn
,
g
.
getId
(),
gm
);
...
...
@@ -317,6 +630,11 @@ public abstract class JdbcDatabasePerformanceTest extends BrambleTestCase {
Metadata
mm
=
getMetadata
(
METADATA_KEYS_PER_MESSAGE
);
messageMeta
.
get
(
g
.
getId
()).
add
(
mm
);
db
.
mergeMessageMetadata
(
txn
,
m
.
getId
(),
mm
);
if
(
j
>
0
)
{
db
.
addMessageDependency
(
txn
,
g
.
getId
(),
m
.
getId
(),
pickRandom
(
groupMessages
.
get
(
g
.
getId
())));
}
groupMessages
.
get
(
g
.
getId
()).
add
(
m
.
getId
());
}
}
db
.
commitTransaction
(
txn
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment