Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMDIDataProcessor.process(...) not thread-safe #367

Closed
wowasa opened this issue Jun 18, 2023 · 4 comments
Closed

CMDIDataProcessor.process(...) not thread-safe #367

wowasa opened this issue Jun 18, 2023 · 4 comments

Comments

@wowasa
Copy link

wowasa commented Jun 18, 2023

In an multi-threaded environment the method CMDIDataProcessor.process(...) returns a CMDIEntity object which differs from those in single-threaded environment at least in the Map, which is returned by CMDIdata.getDocument().

Hence, if the process method is supposed to work in a multi-threaded environment it is a bug. The issue is related to the curation-dashbord issue clarin-eric/curation-dashboard#165

@twagoo
Copy link
Member

twagoo commented Jul 12, 2023

We have not run into such concurrency problems with the VLO itself, which processes files in parallel as well. Therefore I would like to see it ruled out that the curation specific objects and service implementations passed to the constructor of CMDIParserVTDXML are not a cause of the concurrency issues.

@twagoo
Copy link
Member

twagoo commented Jul 12, 2023

Regarding the apparent fix for clarin-eric/curation-dashboard#165: an hypothesis to consider is that synchronising the call in the curation logic creates a bottleneck that 'fixes' (obscures) a concurrency problem elsewhere.

@twagoo
Copy link
Member

twagoo commented Sep 27, 2023

The difference in behaviour in concurrent operation between VLO and curation is explained by the version of VTD-XML used. Won't fix in VLO 4.x

@twagoo twagoo closed this as completed Sep 27, 2023
@twagoo
Copy link
Member

twagoo commented Sep 27, 2023

Issue specific to VTD-XML upgrade -> #369

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants