You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ctakes.apache.org by "Lu, Chris (NIH/NLM/LHC) [C]" <ch...@mail.nih.gov> on 2014/07/03 20:00:36 UTC

RE: LVG Thread Safety

Hi Pei,

How are you doing?
As promised, you can find a nightly build of Lvg from URL:
http://lexsrv2.nlm.nih.gov/LexSysGroup/Projects/lvg/current/release/lvg2015.tgz
This build uses 2014 data with code changes based on your suggestions.

Please let us know if you have any question and suggestions at your earliest convenience so we can include this change into lvg.2015 release. Usually, we need the software part to be completed (including unit tests) by end of July. Thank you very much and have a nice long weekend!


-          Chris



From: Chen, Pei [mailto:Pei.Chen@childrens.harvard.edu]
Sent: Monday, June 23, 2014 2:57 PM
To: Lu, Chris (NIH/NLM/LHC) [C]
Cc: Browne, Allen (NIH/NLM/LHC) [E]; dev@ctakes.apache.org
Subject: RE: LVG Thread Safety

+dev@
Chris,
This awesome news.  Yes we'll be happy to try out the fix.
Thanks again,

Pei
https://issues.apache.org/jira/browse/CTAKES-151


From: Lu, Chris (NIH/NLM/LHC) [C] [mailto:chlu@mail.nih.gov]
Sent: Monday, June 23, 2014 2:54 PM
To: Chen, Pei
Cc: Browne, Allen (NIH/NLM/LHC) [E]; Lu, Chris (NIH/NLM/LHC) [C]
Subject: RE: LVG Thread Safety

Hi Pei,

How are you doing?

We have evaluated your request regarding to the thread safety issue on the SPECIALIST Lexical Tools. Bellows are the summary. Please let us know if you have any suggestions, comments, or questions. This SCR is a major source code change and, if you like, we will send you a nightly built version of lvg.2015 (using lvg.2014 data) in July so you can try it before the official NLM internal release of lvg.2015 is released (in Oct.). Please let us know, Thank you!

1). Static variables
=> Thank you (and Kim) to point out this issue. Here are how we plan to modify "static variables" in the Java codes:
1-a). Change static variables to final static variables (if applicable)
1-b). Change static variables to local variables (if applicable)
1-c). Keep "static String fieldSeparator_" in Lib.GlobalBehavior.java and use "synchronized" for the associated static methods.

ð  There will be too many changes for Flows APIs if we decided to change it to local variable.
1-d). Keep the rest of static variables under GuiTool

ð  Assuming users do not use GuiTool (lgt) under multi-thread environment.
There are 88 files need to be modified for this software change request.

2) Standardize Java package namespace convention on lvg API:
=> There were legacy reasons that all Lvg Java codes under directory of Tools do not use the standard Java package convention. However, we are happy to make the change for your requests.
There are 11 Java files of command line tools and 43 Java files of GUI tool need to be modified.

Hope this helps. Thank you!
Best Regards


-          Chris



RE: LVG Thread Safety

Posted by "Lu, Chris (NIH/NLM/LHC) [C]" <ch...@mail.nih.gov>.
Hi Kim,

Thank you very much for finding the issue and testing the fixes for Lvg. I am glad the issue is resolved.
Have a wonderful evening!

- Chris

PS. 
Does your project  use Java 8? If not, when do you plan to move to Java 8?
We are thinking to move to Java 8 on the next release Lvg.2016 (not Lvg.2015) and would like to know user's plan on Java. Many thanks!


-----Original Message-----
From: Kim Ebert [mailto:kim.ebert@perfectsearchcorp.com] 
Sent: Tuesday, July 15, 2014 4:09 PM
To: dev@ctakes.apache.org; Lu, Chris (NIH/NLM/LHC) [C]
Cc: Chen, Pei; Browne, Allen (NIH/NLM/LHC) [E]
Subject: Re: LVG Thread Safety

Hi Chris,

I've done some testing with your new version of Lvg with cTAKES 2.5.

To work with cTAKES 2.5, I did need to downgrade the version of hsqldb.jar to work with cTAKES 2.5 to avoid getting the error "Data File size limit is reached opening file". My guess is that is related to the UMLS data file and not Lvg.

Running multiple threads in my test environment, I did not see any bleeding of data between cTAKES threads. Bleeding of data between cTAKES threads is what had occurred in the un-patched version of LVG 2010.

Thanks,

Kim Ebert
1.801.669.7342
Perfect Search Corp
http://www.perfectsearchcorp.com/

On 07/03/2014 12:00 PM, Lu, Chris (NIH/NLM/LHC) [C] wrote:
> Hi Pei,
>
> How are you doing?
> As promised, you can find a nightly build of Lvg from URL:
> http://lexsrv2.nlm.nih.gov/LexSysGroup/Projects/lvg/current/release/lv
> g2015.tgz This build uses 2014 data with code changes based on your 
> suggestions.
>
> Please let us know if you have any question and suggestions at your earliest convenience so we can include this change into lvg.2015 release. Usually, we need the software part to be completed (including unit tests) by end of July. Thank you very much and have a nice long weekend!
>
>
> -          Chris
>
>
>
> From: Chen, Pei [mailto:Pei.Chen@childrens.harvard.edu]
> Sent: Monday, June 23, 2014 2:57 PM
> To: Lu, Chris (NIH/NLM/LHC) [C]
> Cc: Browne, Allen (NIH/NLM/LHC) [E]; dev@ctakes.apache.org
> Subject: RE: LVG Thread Safety
>
> +dev@
> Chris,
> This awesome news.  Yes we'll be happy to try out the fix.
> Thanks again,
>
> Pei
> https://issues.apache.org/jira/browse/CTAKES-151
>
>
> From: Lu, Chris (NIH/NLM/LHC) [C] [mailto:chlu@mail.nih.gov]
> Sent: Monday, June 23, 2014 2:54 PM
> To: Chen, Pei
> Cc: Browne, Allen (NIH/NLM/LHC) [E]; Lu, Chris (NIH/NLM/LHC) [C]
> Subject: RE: LVG Thread Safety
>
> Hi Pei,
>
> How are you doing?
>
> We have evaluated your request regarding to the thread safety issue on the SPECIALIST Lexical Tools. Bellows are the summary. Please let us know if you have any suggestions, comments, or questions. This SCR is a major source code change and, if you like, we will send you a nightly built version of lvg.2015 (using lvg.2014 data) in July so you can try it before the official NLM internal release of lvg.2015 is released (in Oct.). Please let us know, Thank you!
>
> 1). Static variables
> => Thank you (and Kim) to point out this issue. Here are how we plan to modify "static variables" in the Java codes:
> 1-a). Change static variables to final static variables (if 
> applicable) 1-b). Change static variables to local variables (if 
> applicable) 1-c). Keep "static String fieldSeparator_" in Lib.GlobalBehavior.java and use "synchronized" for the associated static methods.
>
> ð  There will be too many changes for Flows APIs if we decided to change it to local variable.
> 1-d). Keep the rest of static variables under GuiTool
>
> ð  Assuming users do not use GuiTool (lgt) under multi-thread environment.
> There are 88 files need to be modified for this software change request.
>
> 2) Standardize Java package namespace convention on lvg API:
> => There were legacy reasons that all Lvg Java codes under directory of Tools do not use the standard Java package convention. However, we are happy to make the change for your requests.
> There are 11 Java files of command line tools and 43 Java files of GUI tool need to be modified.
>
> Hope this helps. Thank you!
> Best Regards
>
>
> -          Chris
>
>
>


Re: LVG Thread Safety

Posted by Kim Ebert <ki...@perfectsearchcorp.com>.
Hi Chris,

I've done some testing with your new version of Lvg with cTAKES 2.5.

To work with cTAKES 2.5, I did need to downgrade the version of
hsqldb.jar to work with cTAKES 2.5 to avoid getting the error "Data File
size limit is reached opening file". My guess is that is related to the
UMLS data file and not Lvg.

Running multiple threads in my test environment, I did not see any
bleeding of data between cTAKES threads. Bleeding of data between cTAKES
threads is what had occurred in the un-patched version of LVG 2010.

Thanks,

Kim Ebert
1.801.669.7342
Perfect Search Corp
http://www.perfectsearchcorp.com/

On 07/03/2014 12:00 PM, Lu, Chris (NIH/NLM/LHC) [C] wrote:
> Hi Pei,
>
> How are you doing?
> As promised, you can find a nightly build of Lvg from URL:
> http://lexsrv2.nlm.nih.gov/LexSysGroup/Projects/lvg/current/release/lvg2015.tgz
> This build uses 2014 data with code changes based on your suggestions.
>
> Please let us know if you have any question and suggestions at your earliest convenience so we can include this change into lvg.2015 release. Usually, we need the software part to be completed (including unit tests) by end of July. Thank you very much and have a nice long weekend!
>
>
> -          Chris
>
>
>
> From: Chen, Pei [mailto:Pei.Chen@childrens.harvard.edu]
> Sent: Monday, June 23, 2014 2:57 PM
> To: Lu, Chris (NIH/NLM/LHC) [C]
> Cc: Browne, Allen (NIH/NLM/LHC) [E]; dev@ctakes.apache.org
> Subject: RE: LVG Thread Safety
>
> +dev@
> Chris,
> This awesome news.  Yes we'll be happy to try out the fix.
> Thanks again,
>
> Pei
> https://issues.apache.org/jira/browse/CTAKES-151
>
>
> From: Lu, Chris (NIH/NLM/LHC) [C] [mailto:chlu@mail.nih.gov]
> Sent: Monday, June 23, 2014 2:54 PM
> To: Chen, Pei
> Cc: Browne, Allen (NIH/NLM/LHC) [E]; Lu, Chris (NIH/NLM/LHC) [C]
> Subject: RE: LVG Thread Safety
>
> Hi Pei,
>
> How are you doing?
>
> We have evaluated your request regarding to the thread safety issue on the SPECIALIST Lexical Tools. Bellows are the summary. Please let us know if you have any suggestions, comments, or questions. This SCR is a major source code change and, if you like, we will send you a nightly built version of lvg.2015 (using lvg.2014 data) in July so you can try it before the official NLM internal release of lvg.2015 is released (in Oct.). Please let us know, Thank you!
>
> 1). Static variables
> => Thank you (and Kim) to point out this issue. Here are how we plan to modify "static variables" in the Java codes:
> 1-a). Change static variables to final static variables (if applicable)
> 1-b). Change static variables to local variables (if applicable)
> 1-c). Keep "static String fieldSeparator_" in Lib.GlobalBehavior.java and use "synchronized" for the associated static methods.
>
> ð  There will be too many changes for Flows APIs if we decided to change it to local variable.
> 1-d). Keep the rest of static variables under GuiTool
>
> ð  Assuming users do not use GuiTool (lgt) under multi-thread environment.
> There are 88 files need to be modified for this software change request.
>
> 2) Standardize Java package namespace convention on lvg API:
> => There were legacy reasons that all Lvg Java codes under directory of Tools do not use the standard Java package convention. However, we are happy to make the change for your requests.
> There are 11 Java files of command line tools and 43 Java files of GUI tool need to be modified.
>
> Hope this helps. Thank you!
> Best Regards
>
>
> -          Chris
>
>
>