[ 
https://issues.apache.org/jira/browse/HADOOP-19270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17880940#comment-17880940
 ] 

ASF GitHub Bot commented on HADOOP-19270:
-----------------------------------------

hadoop-yetus commented on PR #7038:
URL: https://github.com/apache/hadoop/pull/7038#issuecomment-2343359981

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |  18m 44s |  |  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 :green_heart: |  test4tests  |   0m  0s |  |  The patch appears to 
include 1 new or modified test files.  |
   |||| _ trunk Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |  49m 37s |  |  trunk passed  |
   | +1 :green_heart: |  compile  |   0m 28s |  |  trunk passed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04  |
   | +1 :green_heart: |  compile  |   0m 26s |  |  trunk passed with JDK 
Private Build-1.8.0_422-8u422-b05-1~20.04-b05  |
   | +1 :green_heart: |  checkstyle  |   0m 25s |  |  trunk passed  |
   | +1 :green_heart: |  mvnsite  |   0m 28s |  |  trunk passed  |
   | +1 :green_heart: |  javadoc  |   0m 31s |  |  trunk passed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04  |
   | +1 :green_heart: |  javadoc  |   0m 25s |  |  trunk passed with JDK 
Private Build-1.8.0_422-8u422-b05-1~20.04-b05  |
   | +1 :green_heart: |  spotbugs  |   0m 43s |  |  trunk passed  |
   | +1 :green_heart: |  shadedclient  |  39m 19s |  |  branch has no errors 
when building and testing our client artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 19s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 18s |  |  the patch passed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04  |
   | +1 :green_heart: |  javac  |   0m 18s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 16s |  |  the patch passed with JDK 
Private Build-1.8.0_422-8u422-b05-1~20.04-b05  |
   | +1 :green_heart: |  javac  |   0m 16s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 13s | 
[/results-checkstyle-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/artifact/out/results-checkstyle-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload.txt)
 |  hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-workload: The patch 
generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  mvnsite  |   0m 19s |  |  the patch passed  |
   | -1 :x: |  javadoc  |   0m 19s | 
[/results-javadoc-javadoc-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/artifact/out/results-javadoc-javadoc-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt)
 |  
hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
 with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 generated 1 new + 1 
unchanged - 0 fixed = 2 total (was 1)  |
   | -1 :x: |  javadoc  |   0m 18s | 
[/results-javadoc-javadoc-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/artifact/out/results-javadoc-javadoc-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt)
 |  
hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05
 with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05 generated 1 new + 1 
unchanged - 0 fixed = 2 total (was 1)  |
   | -1 :x: |  spotbugs  |   0m 45s | 
[/new-spotbugs-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload.html](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/artifact/out/new-spotbugs-hadoop-tools_hadoop-dynamometer_hadoop-dynamometer-workload.html)
 |  hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-workload generated 1 new 
+ 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  shadedclient  |  39m 30s |  |  patch has no errors 
when building and testing our client artifacts.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 56s |  |  hadoop-dynamometer-workload in 
the patch passed.  |
   | +1 :green_heart: |  asflicense  |   0m 37s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   | 157m  5s |  |  |
   
   
   | Reason | Tests |
   |-------:|:------|
   | SpotBugs | 
module:hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-workload |
   |  |  Suspicious comparison of Long references in 
org.apache.hadoop.tools.dynamometer.workloadgenerator.audit.AuditReplayCommand.equals(Object)
  At AuditReplayCommand.java:in 
org.apache.hadoop.tools.dynamometer.workloadgenerator.audit.AuditReplayCommand.equals(Object)
  At AuditReplayCommand.java:[line 156] |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hadoop/pull/7038 |
   | Optional Tests | dupname asflicense compile javac javadoc mvninstall 
mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets |
   | uname | Linux bd9768d848ae 5.15.0-119-generic #129-Ubuntu SMP Fri Aug 2 
19:25:20 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/bin/hadoop.sh |
   | git revision | trunk / 02d211b4b356271c520756f017c83ceb6d110101 |
   | Default Java | Private Build-1.8.0_422-8u422-b05-1~20.04-b05 |
   | Multi-JDK versions | 
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 
/usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05 
|
   |  Test Results | 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/2/testReport/ |
   | Max. process+thread count | 549 (vs. ulimit of 5500) |
   | modules | C: hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-workload 
U: hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-workload |
   | Console output | 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7038/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.
   
   




> Use stable sort in commandQueue
> -------------------------------
>
>                 Key: HADOOP-19270
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19270
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: tools
>    Affects Versions: 3.4.0, 3.4.1
>            Reporter: Kim gichan
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.5.0
>
>
> h2. Purpose
> - To remove possibility of wrong-ordered log simulation
> h2. Why this happens?
> - private DelayQueue<AuditReplayCommand> commandQueue is actually 
> PriorityQueue that use unstable sort.
> - commandQueue can have order that is not same to original audit log order.
> - In real production, there is the commands that occur same time and should 
> be fixed order.
> {code:bash}
> # getfileinfo before open
> 2024-07-01 19:27:12,886 INFO FSNamesystem.audit: allowed=true   ugi=xx-xx 
> (auth:TOKEN) via hive/[email protected] (auth:TOKEN)   
> ip=/10.xx.xxx.xxx       cmd=getfileinfo 
> src=/user/hive/warehouse/a.db/b/date_id=2024-06-16/part-xxxx.gz.parquet     
> dst=null        perm=null       proto=rpc
> 2024-07-01 19:27:12,886 INFO FSNamesystem.audit: allowed=true   ugi=xx-xx 
> (auth:TOKEN) via hive/[email protected] (auth:TOKEN)   
> ip=/10.xx.xxx.xxx       cmd=open        
> src=/user/hive/warehouse/a.db/b/date_id=2024-06-16/part-xxxx.gz.parquet     
> dst=null        perm=null       proto=rpc
> # create before setPermission
> # this examples have not exactly same time, but could be same when rate 
> factor is high enough
> 2024-07-01 17:25:30,867 INFO FSNamesystem.audit: allowed=true   
> [email protected] (auth:KERBEROS)    ip=/10.xxx.xx.xxx       cmd=create  
>     src=/user/yy-yy/.staging/job_1716867484406_290658/job.xml dst=null        
> perm=yy-yy:zzz:rw-rw-r--  proto=rpc
> 2024-07-01 17:25:30,871 INFO FSNamesystem.audit: allowed=true   
> [email protected] (auth:KERBEROS)    ip=/10.xxx.xx.xxx       
> cmd=setPermission       
> src=/user/yy-yy/.staging/job_1716867484406_290658/job.xml dst=null        
> perm=yy-yy:zzz:rw-r--r--  proto=rpc
> {code}
> h2. How much improve test accuracy when use stable sort?
> - Using stable sort, wrong ordered simulation could not occur.
> -- I fixed code to use line number of audit log in sorting criteria.
> -- Because it is not simple to change DelayQueue data structure to use stable 
> sort
> - Multi threading or client-ip-based-partitioning could be occur in real 
> production and affect log order, but not critical.
> - This is the graph that
> -- compare stable sort and unstable sort with different rate(1~4)
> -- use 5 minutes simulation(in rate 1) ip-based-partitioned-audit-log
> -- shows total valid command, total read latency, total write latency
> (image will be uploaded soon)
> - Conclusion
> -- Stable sort ensure almost similar valid command number.
> -- Unstable sort sometimes extremely high latency because of wrong ordered 
> log simulation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to