[ https://issues.apache.org/jira/browse/KNOX-3030?focusedWorklogId=915478&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-915478 ]
ASF GitHub Bot logged work on KNOX-3030: ---------------------------------------- Author: ASF GitHub Bot Created on: 19/Apr/24 07:14 Start Date: 19/Apr/24 07:14 Worklog Time Spent: 10m Work Description: smolnar82 opened a new pull request, #901: URL: https://github.com/apache/knox/pull/901 ## What changes were proposed in this pull request? This change makes the `TopologyUtils.parse(...)` methods thread safe by synchronizing them. Another update is that occurrences of `SAXParseException` are handled separately and logged properly. ## How was this patch tested? Multiple automated tests were executed parallel to challenge Knox (more than 50 at a time). These tests were capable of reproducing the issue constantly. After repeating the same tests 3 times, we found no problems. Issue Time Tracking ------------------- Worklog Id: (was: 915478) Remaining Estimate: 0h Time Spent: 10m > SAXException occurs while parsing old topology on the descriptor handle path > ---------------------------------------------------------------------------- > > Key: KNOX-3030 > URL: https://issues.apache.org/jira/browse/KNOX-3030 > Project: Apache Knox > Issue Type: Bug > Components: Server > Reporter: Sandor Molnar > Assignee: Sandor Molnar > Priority: Critical > Fix For: 2.1.0 > > Time Spent: 10m > Remaining Estimate: 0h > > In highly concurrent environments Knox may fail to parse descriptors/shared > providers thus topology deployment fails with the following error: > {noformat} > 2024-01-26 10:35:25,173 ERROR topology.simple > (SimpleDescriptorHandler.java:shouldPersistGeneratedTopology(682)) - Error > comparing the generated cdp-proxy topology with the existing version: > org.xml.sax.SAXParseException; lineNumber: 35; columnNumber: 20; Error at > line 35 char 20: class org.apache.knox.gateway.topology.Provider cannot be > cast to class org.apache.knox.gateway.topology.Param > (org.apache.knox.gateway.topology.Provider and > org.apache.knox.gateway.topology.Param are in unnamed module of loader > java.net.URLClassLoader @668bc3d5) > 2024-01-26 10:35:25,173 INFO topology.simple > (SimpleDescriptorHandler.java:generateTopology(622)) - Skipping redeployment > of the cdp-proxy topology because it already exists and has not changed. > {noformat} > This will lead to unreachable end-user endpoints. -- This message was sent by Atlassian Jira (v8.20.10#820010)