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

ASF GitHub Bot commented on MAPREDUCE-7539:
-------------------------------------------

K0K0V0K commented on PR #8556:
URL: https://github.com/apache/hadoop/pull/8556#issuecomment-5067838086

   Hi @ferdelyi !  
   
   Thanks for fixing this bug!
   
   > After [HADOOP-15984](https://issues.apache.org/jira/browse/HADOOP-15984) 
made HsWebServices a singleton, the same controller instance handles requests 
for multiple applications. The instance field this.uuid would hold the UUID of 
the first application ever read. Every subsequent app's log files would fail 
validation with "UUID mismatch" and return no results — until JHS restarted.
   
   Please correct me if i am wrong but in that case every other place where the 
`this.uuid` is in used can be a potential bug right? For example line #212. 
   Can you please check can we (/should we) refactor this class to remove 
this.uuid? and maybe other class varaibles also?
   Or can we restore the original behaviour when the class was not singleton?
   




> JobHistoryServer API fails to serve aggregated logs due to uuid mismatch
> ------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-7539
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7539
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobhistoryserver
>    Affects Versions: 3.5.0
>            Reporter: Brian Goerlitz
>            Assignee: Ferenc Erdelyi
>            Priority: Major
>              Labels: pull-request-available
>
> Due to Singleton annotations added in HADOOP-15984 for HSWebServices, the 
> first time an ifile log is read via the {{/ws/v1/history/aggregatedlogs}} 
> API, the UUID of the log is stored in the HSWebServices instance of the 
> {{LogAggregationIndexedFileController}} and used for verification of all 
> future log files. This results in failure to read any aggregated log files 
> belonging to an app that is not the first one accessed after JHS restart.
> {noformat}
> 2026-06-08 20:16:40,368 WARN 
> org.apache.hadoop.yarn.logaggregation.filecontroller.ifile.LogAggregationIndexedFileController:
>  Can not get log meta from the log 
> file:hdfs://nn:8020/tmp/logs/systest/bucket-logs-ifile/0002/application_1780935195539_0002/nm_8041
> The UUID from 
> hdfs://nn:8020/tmp/logs/systest/bucket-logs-ifile/0002/application_1780935195539_0002/nm_8041
>  is not correct. The offset of loaded UUID is 296605
> 2026-06-08 20:16:40,368 WARN 
> org.apache.hadoop.yarn.webapp.GenericExceptionHandler: SERVICE_UNAVAILABLE
> javax.ws.rs.WebApplicationException: HTTP 500 Internal Server Error
>         at 
> org.apache.hadoop.yarn.server.webapp.LogServlet.getContainerLogMeta(LogServlet.java:134)
>         at 
> org.apache.hadoop.yarn.server.webapp.LogServlet.getContainerLogsInfo(LogServlet.java:325)
>         at 
> org.apache.hadoop.yarn.server.webapp.LogServlet.getLogsInfo(LogServlet.java:263)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.webapp.HsWebServices.getAggregatedLogsMeta(HsWebServices.java:521)
> ...
> Caused by: org.apache.hadoop.yarn.webapp.NotFoundException: HTTP 404 Not Found
>         at 
> org.apache.hadoop.yarn.server.webapp.LogServlet.getContainerLogMeta(LogServlet.java:122)
>         ... 86 more
> Caused by: java.lang.Exception: Can not get log meta for request.
>         at 
> org.apache.hadoop.yarn.webapp.NotFoundException.<init>(NotFoundException.java:45)
>         ... 87 more
> {noformat}



--
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