[
https://issues.apache.org/jira/browse/TEZ-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17235353#comment-17235353
]
Hadoop QA commented on TEZ-4251:
--------------------------------
| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 20m
52s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m
0s{color} | {color:green} No case conflicting files found. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m
0s{color} | {color:red} The patch doesn't appear to include any new or modified
tests. Please justify why no new tests are needed for this patch. Also please
list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m
59s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m
38s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m
36s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m
35s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 1m
25s{color} | {color:blue} Used deprecated FindBugs config; considering
switching to SpotBugs. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m
23s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m
26s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m
28s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m
0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m
27s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m
28s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 4m
35s{color} | {color:green} tez-dag in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m
9s{color} | {color:green} The patch does not generate ASF License warnings.
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 38m 46s{color} |
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | ClientAPI=1.40 ServerAPI=1.40 base:
https://ci-hadoop.apache.org/job/PreCommit-TEZ-Build/58/artifact/out/Dockerfile
|
| JIRA Issue | TEZ-4251 |
| JIRA Patch URL |
https://issues.apache.org/jira/secure/attachment/13015613/TEZ-4251.1.patch |
| Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs
checkstyle compile |
| uname | Linux aa96ca857348 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9
23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | personality/tez.sh |
| git revision | master / 4c3390113 |
| Default Java | Private Build-1.8.0_275-8u275-b01-0ubuntu1~18.04-b01 |
| Test Results |
https://ci-hadoop.apache.org/job/PreCommit-TEZ-Build/58/testReport/ |
| Max. process+thread count | 178 (vs. ulimit of 5500) |
| modules | C: tez-dag U: tez-dag |
| Console output |
https://ci-hadoop.apache.org/job/PreCommit-TEZ-Build/58/console |
| versions | git=2.17.1 maven=3.6.0 findbugs=3.0.1 |
| Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
This message was automatically generated.
> Acquiring locks for getInputVertices and getOutputVertices is not consistent
> ----------------------------------------------------------------------------
>
> Key: TEZ-4251
> URL: https://issues.apache.org/jira/browse/TEZ-4251
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Krisztian Kasa
> Priority: Major
> Attachments: TEZ-4251.1.patch, container_jstack.txt
>
>
> *VertexImpl.getInputVertices()* acquires read lock however
> *VertexImpl.getOutputVertices()* doesn't.
> We also faced with deadlock when using Tez from Hive: see
> [^container_jstack.txt]
> 0. Both LlapTaskSchedulerService and VertexImpl defines its own
> ReentrantReadWriteLock instance.
> 1. Thread "LlapScheduler" acquired write lock on
> LlapTaskSchedulerService.lock
> {code:java}
> LlapTaskSchedulerService.java
> protected void schedulePendingTasks() throws InterruptedException {
> Ref<TaskInfo> downgradedTask = new Ref<>(null);
> writeLock.lock();
> {code}
> 2. Thread "Dispatcher thread \{Central}" acquired write lock on
> VertexImpl.lock
> {code:java}
> VertexImpl.java
> public void handle(VertexEvent event) {
> ...
> try {
> writeLock.lock();
> {code}
> 3. Thread "LlapScheduler" tries acquiring read lock on VertexImpl.lock
> {code:java}
> VertexImpl.java
> @Override
> public Map<Vertex, Edge> getInputVertices() {
> readLock.lock();
> {code}
> but it is waiting because Thread "Dispatcher thread \{Central}" holds the
> write lock on VertexImpl.lock
> 4. Thread "Dispatcher thread \{Central}" try acquire read lock on
> LlapTaskSchedulerService.lock
> {code:java}
> LlapTaskSchedulerService.vaja
> @Override
> public Resource getTotalResources() {
> ...
> readLock.lock();
> {code}
> but it is waiting because Thread "LlapScheduler" holds the write lock on
> LlapTaskSchedulerService.lock
--
This message was sent by Atlassian Jira
(v8.3.4#803005)