Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
cc601d73
Commit
cc601d73
authored
5 years ago
by
Ashutosh Mestry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-3642: PC fx: WorkItemManager getResults Modification.
parent
e8661ecb
master
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
11 deletions
+9
-11
WorkItemConsumer.java
intg/src/main/java/org/apache/atlas/pc/WorkItemConsumer.java
+4
-7
WorkItemManager.java
intg/src/main/java/org/apache/atlas/pc/WorkItemManager.java
+5
-4
No files found.
intg/src/main/java/org/apache/atlas/pc/WorkItemConsumer.java
View file @
cc601d73
...
...
@@ -21,6 +21,7 @@ package org.apache.atlas.pc;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.Queue
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -37,7 +38,7 @@ public abstract class WorkItemConsumer<T> implements Runnable {
private
final
AtomicBoolean
isDirty
=
new
AtomicBoolean
(
false
);
private
final
AtomicLong
maxCommitTimeInMs
=
new
AtomicLong
(
DEFAULT_COMMIT_TIME_IN_MS
);
private
CountDownLatch
countdownLatch
;
private
BlockingQueue
<
Object
>
results
;
private
Queue
<
Object
>
results
;
public
WorkItemConsumer
(
BlockingQueue
<
T
>
queue
)
{
this
.
queue
=
queue
;
...
...
@@ -101,11 +102,7 @@ public abstract class WorkItemConsumer<T> implements Runnable {
protected
abstract
void
processItem
(
T
item
);
protected
void
addResult
(
Object
value
)
{
try
{
results
.
put
(
value
);
}
catch
(
InterruptedException
e
)
{
LOG
.
error
(
"Interrupted while adding result: {}"
,
value
);
}
results
.
add
(
value
);
}
protected
void
updateCommitTime
(
long
commitTime
)
{
...
...
@@ -118,7 +115,7 @@ public abstract class WorkItemConsumer<T> implements Runnable {
this
.
countdownLatch
=
countdownLatch
;
}
public
<
V
>
void
setResults
(
Blocking
Queue
<
Object
>
queue
)
{
public
<
V
>
void
setResults
(
Queue
<
Object
>
queue
)
{
this
.
results
=
queue
;
}
}
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/pc/WorkItemManager.java
View file @
cc601d73
...
...
@@ -23,6 +23,7 @@ import org.slf4j.LoggerFactory;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Queue
;
import
java.util.concurrent.*
;
public
class
WorkItemManager
<
T
,
U
extends
WorkItemConsumer
>
{
...
...
@@ -33,7 +34,7 @@ public class WorkItemManager<T, U extends WorkItemConsumer> {
private
final
ExecutorService
service
;
private
final
List
<
U
>
consumers
=
new
ArrayList
<>();
private
CountDownLatch
countdownLatch
;
private
BlockingQueue
<
Object
>
resultsQueue
;
private
Queue
<
Object
>
resultsQueue
;
public
WorkItemManager
(
WorkItemBuilder
builder
,
String
namePrefix
,
int
batchSize
,
int
numWorkers
,
boolean
collectResults
)
{
this
.
numWorkers
=
numWorkers
;
...
...
@@ -49,13 +50,13 @@ public class WorkItemManager<T, U extends WorkItemConsumer> {
this
(
builder
,
"workItemConsumer"
,
batchSize
,
numWorkers
,
false
);
}
public
void
setResultsCollection
(
Blocking
Queue
<
Object
>
resultsQueue
)
{
public
void
setResultsCollection
(
Queue
<
Object
>
resultsQueue
)
{
this
.
resultsQueue
=
resultsQueue
;
}
private
void
createConsumers
(
WorkItemBuilder
builder
,
int
numWorkers
,
boolean
collectResults
)
{
if
(
collectResults
)
{
setResultsCollection
(
new
LinkedBlocking
Queue
<>());
setResultsCollection
(
new
ConcurrentLinked
Queue
<>());
}
for
(
int
i
=
0
;
i
<
numWorkers
;
i
++)
{
...
...
@@ -124,7 +125,7 @@ public class WorkItemManager<T, U extends WorkItemConsumer> {
LOG
.
info
(
"WorkItemManager: Shutdown done!"
);
}
public
Blocking
Queue
getResults
()
{
public
Queue
getResults
()
{
return
this
.
resultsQueue
;
}
...
...
This diff is collapsed.
Click to expand it.
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