[ https://issues.apache.org/jira/browse/HDFS-16819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624950#comment-17624950 ]
ASF GitHub Bot commented on HDFS-16819: --------------------------------------- hadoop-yetus commented on PR #5074: URL: https://github.com/apache/hadoop/pull/5074#issuecomment-1293174907 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Logfile | Comment | |:----:|----------:|--------:|:--------:|:-------:| | +0 :ok: | reexec | 0m 38s | | Docker mode activated. | |||| _ Prechecks _ | | +1 :green_heart: | dupname | 0m 0s | | No case conflicting files found. | | +0 :ok: | codespell | 0m 1s | | codespell was not available. | | +0 :ok: | detsecrets | 0m 1s | | detect-secrets was not available. | | +1 :green_heart: | @author | 0m 0s | | The patch does not contain any @author tags. | | -1 :x: | test4tests | 0m 0s | | 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. | |||| _ trunk Compile Tests _ | | +1 :green_heart: | mvninstall | 39m 9s | | trunk passed | | +1 :green_heart: | compile | 1m 33s | | trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 | | +1 :green_heart: | compile | 1m 36s | | trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | +1 :green_heart: | checkstyle | 1m 18s | | trunk passed | | +1 :green_heart: | mvnsite | 1m 38s | | trunk passed | | +1 :green_heart: | javadoc | 1m 16s | | trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 | | +1 :green_heart: | javadoc | 1m 43s | | trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | +1 :green_heart: | spotbugs | 3m 39s | | trunk passed | | +1 :green_heart: | shadedclient | 23m 12s | | branch has no errors when building and testing our client artifacts. | |||| _ Patch Compile Tests _ | | +1 :green_heart: | mvninstall | 1m 20s | | the patch passed | | +1 :green_heart: | compile | 1m 23s | | the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 | | +1 :green_heart: | javac | 1m 23s | | the patch passed | | +1 :green_heart: | compile | 1m 22s | | the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | +1 :green_heart: | javac | 1m 22s | | the patch passed | | +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks issues. | | +1 :green_heart: | checkstyle | 1m 2s | | the patch passed | | +1 :green_heart: | mvnsite | 1m 24s | | the patch passed | | +1 :green_heart: | javadoc | 0m 55s | | the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 | | +1 :green_heart: | javadoc | 1m 32s | | the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | +1 :green_heart: | spotbugs | 3m 21s | | the patch passed | | -1 :x: | shadedclient | 19m 46s | | patch has errors when building and testing our client artifacts. | |||| _ Other Tests _ | | +1 :green_heart: | unit | 243m 29s | | hadoop-hdfs in the patch passed. | | +1 :green_heart: | asflicense | 1m 6s | | The patch does not generate ASF License warnings. | | | | 350m 23s | | | | Subsystem | Report/Notes | |----------:|:-------------| | Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5074/2/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/5074 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets | | uname | Linux 07ccbf3b6197 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | dev-support/bin/hadoop.sh | | git revision | trunk / 77cc37d29a0014c4dc5d6e74d42d19192df839fd | | Default Java | Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | Multi-JDK versions | /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07 | | Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5074/2/testReport/ | | Max. process+thread count | 3078 (vs. ulimit of 5500) | | modules | C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs | | Console output | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5074/2/console | | versions | git=2.25.1 maven=3.6.3 spotbugs=4.2.2 | | Powered by | Apache Yetus 0.14.0 https://yetus.apache.org | This message was automatically generated. > Remove the redundant write lock in FsDatasetImpl#createTemporary > ------------------------------------------------------------------ > > Key: HDFS-16819 > URL: https://issues.apache.org/jira/browse/HDFS-16819 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Haiyang Hu > Assignee: Haiyang Hu > Priority: Major > Labels: pull-request-available > > In FsDatasetImpl#createTemporary Line_1840 the writeLock here seems useless. > The readLock is already held in volumeMap.get(). From the code logic point > of view, the writeLock here maybe to remove > {code:java} > public ReplicaHandler createTemporary(StorageType storageType, > String storageId, ExtendedBlock b, boolean isTransfer) > throws IOException { > long startTimeMs = Time.monotonicNow(); > long writerStopTimeoutMs = datanode.getDnConf().getXceiverStopTimeout(); > ReplicaInfo lastFoundReplicaInfo = null; > boolean isInPipeline = false; > do { > try (AutoCloseableLock lock = lockManager.writeLock(LockLevel.BLOCK_POOl, > b.getBlockPoolId())) { //the writeLock here maybe to remove > ReplicaInfo currentReplicaInfo = > volumeMap.get(b.getBlockPoolId(), b.getBlockId()); > if (currentReplicaInfo == lastFoundReplicaInfo) { > break; > } else { > isInPipeline = currentReplicaInfo.getState() == ReplicaState.TEMPORARY > || currentReplicaInfo.getState() == ReplicaState.RBW; > /* > * If the current block is not PROVIDED and old, reject. > * else If transfer request, then accept it. > * else if state is not RBW/Temporary, then reject > * If current block is PROVIDED, ignore the replica. > */ > if (((currentReplicaInfo.getGenerationStamp() >= b > .getGenerationStamp()) || (!isTransfer && !isInPipeline)) > && !isReplicaProvided(currentReplicaInfo)) { > throw new ReplicaAlreadyExistsException("Block " + b > + " already exists in state " + currentReplicaInfo.getState() > + " and thus cannot be created."); > } > lastFoundReplicaInfo = currentReplicaInfo; > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org