Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
adapt
ace
Commits
0fed3842
Commit
0fed3842
authored
Sep 23, 2016
by
Michael Ritter
Browse files
Decrease the size we flush our entitymanager at and reduce number of persists
parent
de27cb5b
Changes
2
Hide whitespace changes
Inline
Side-by-side
ace-am/src/main/java/edu/umiacs/ace/monitor/register/IngestDirectory.java
View file @
0fed3842
...
...
@@ -106,7 +106,7 @@ public class IngestDirectory extends RecursiveAction {
parent
=
Strings
.
cleanStringForXml
(
parent
,
'_'
);
createDirectory
(
pathList
.
get
(
i
),
parent
);
if
(
numTransactions
>
1000
0
)
{
if
(
numTransactions
%
30
==
0
)
{
em
.
flush
();
em
.
clear
();
}
...
...
ace-am/src/main/java/edu/umiacs/ace/monitor/register/IngestThread.java
View file @
0fed3842
...
...
@@ -174,14 +174,14 @@ public class IngestThread extends RecursiveAction {
token
.
setParentCollection
(
coll
);
// Token
em
.
persist
(
event
[
1
]);
em
.
persist
(
token
);
// em.persist(token);
item
.
setToken
(
token
);
//Finish adding the item
em
.
persist
(
event
[
0
]);
em
.
merge
(
item
);
numTransactions
+=
4
;
em
.
persist
(
event
[
1
]);
em
.
persist
(
item
);
numTransactions
+=
3
;
newTokens
.
add
(
identifier
);
}
else
{
...
...
@@ -193,7 +193,7 @@ public class IngestThread extends RecursiveAction {
// With large Token Stores, we get a large number of transactions
// Flushing and Clearing the EM helps to clear some memory
// TODO: W/ fork join this isn't needed anymore, unless we want to flush at a lower number
if
(
numTransactions
>
700
0
)
{
if
(
numTransactions
>
3
0
)
{
em
.
flush
();
em
.
clear
();
numTransactions
=
0
;
...
...
@@ -229,12 +229,13 @@ public class IngestThread extends RecursiveAction {
if
(
update
)
{
LogEvent
event
=
logManager
.
createItemEvent
(
LogEnum
.
TOKEN_INGEST_UPDATE
,
identifier
,
coll
.
getDirectory
()
+
identifier
);
em
.
persist
(
token
);
//
em.persist(token);
item
.
setToken
(
token
);
// TODO: Why set 'I'? It's not necessarily invalid, maybe 'R' would be better
item
.
setState
(
'I'
);
em
.
merge
(
item
);
em
.
persist
(
event
);
numTransactions
+=
3
;
numTransactions
+=
2
;
updatedTokens
.
add
(
identifier
);
}
else
{
unchangedTokens
.
add
(
identifier
);
...
...
@@ -286,8 +287,8 @@ public class IngestThread extends RecursiveAction {
mi
.
setState
(
initialState
);
mi
.
setSize
(
size
);
em
.
persist
(
mi
);
numTransactions
++;
//
em.persist(mi);
//
numTransactions++;
return
mi
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment