Project

General

Profile

Activity

From 01/04/2023 to 02/02/2023

02/02/2023

11:15 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Theodoros Theodorou wrote:
> Is this test below a good test? Should I store it at @testcases/security/security-polic...
Igor Skornyakov
11:10 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Do you have test code for the error cases that I mentioned in #6421-16?
In your testcase #6421-21, you should avoi...
Greg Shah
10:41 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Hello Igor and thank you for your review.
I replaced @getAlgKeyLen()@ with @SecurityPlicyManager.getSymmetricCiper...
Theodoros Theodorou
09:58 AM Feature #6410: implement additional built-in OO classes/interfaces
> we can then keep OE11.7 as main target and OE12.2 'extensions/fixes' are only nice to have?
Correct. If there a...
Greg Shah
09:41 AM Feature #6410: implement additional built-in OO classes/interfaces
Greg Shah wrote:
> I prefer not to have different FWD branches for different OE versions.
Understood, then only...
Marian Edu
09:25 AM Feature #6410: implement additional built-in OO classes/interfaces
11.7 and 12.2 is fine.
> Now, this only has effect at compile time - for FWD will be when the conversion is execut...
Greg Shah
03:12 AM Feature #6410: implement additional built-in OO classes/interfaces
Greg Shah wrote:
> Yes, please use @PROVERSION@ and preprocessing to conditionally implement logic by OE version.
...
Marian Edu

02/01/2023

02:34 PM Feature #6649: improve the performance or SourceNameMapper runtime
Does @SourceNameMapper.convertName()@ often get called with the same @legacyProgName@ and @lookup@ function? If so, ... Greg Shah
02:34 PM Feature #6649: improve the performance or SourceNameMapper runtime
Code Review Task Branch 6129b Revision 14394
The changes look good.
Greg Shah
01:26 PM Feature #6421: finish GENERATE-RANDOM-KEY support
Theodoros Theodorou wrote:
> I read the encryption algorithm by using @SecurityPolicyManager.getSymmetricEncryptionA...
Igor Skornyakov
12:55 PM Feature #6421: finish GENERATE-RANDOM-KEY support
Greg Shah wrote:
> The original code in @SecurityOps.generateRandomKey()@ was forced to @AES_CBC_128@. Take a look...
Igor Skornyakov
12:47 PM Feature #6421: finish GENERATE-RANDOM-KEY support
The original code in @SecurityOps.generateRandomKey()@ was forced to @AES_CBC_128@. Take a look at trunk. Greg Shah
12:45 PM Feature #6421: finish GENERATE-RANDOM-KEY support
Greg Shah wrote:
> Igor: Please review.
Sorry, I do not understand. As far as I remember and can see from the cod...
Igor Skornyakov
12:26 PM Feature #6421: finish GENERATE-RANDOM-KEY support
> Do I need to checkout 6421a from the testcases project or use the main branch?
I'm not exactly sure what you are...
Greg Shah
08:45 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Do I need to checkout 6421a from the testcases project or use the main branch?
Then I should include my @test-genr...
Theodoros Theodorou
09:39 AM Bug #7089: sanitize p2j.oo method signature
In incremental conversion, it was found that a @RequestBuilder.put@ method's LegacySignature was inconsistent with th... Constantin Asofiei
09:27 AM Bug #7089 (WIP): sanitize p2j.oo method signature
Constantin Asofiei
08:52 AM Feature #6410 (WIP): implement additional built-in OO classes/interfaces
Marian Edu

01/31/2023

09:30 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Yes, except it would be useful to put slightly more detail in the comment. Something like this seems appropriate:
...
Greg Shah
09:18 AM Feature #6421: finish GENERATE-RANDOM-KEY support
History entry means to add a comment in the beginning of the file?
Like the following?...
Theodoros Theodorou
09:12 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Theodoros Theodorou wrote:
> How to write test cases?
[[p2j:Writing 4GL Testcases]]
[[p2j:Testing_Process#Proje...
Greg Shah
09:03 AM Feature #6421: finish GENERATE-RANDOM-KEY support
How to write test cases? I thought that the p2j test cases do not run. Theodoros Theodorou
06:20 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Code Review Task Branch 6421a Revision 14484
1. @generateRandomKey()@ needs complete error handling. Please write...
Greg Shah
05:41 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Igor: Please review. Greg Shah
02:06 AM Feature #6421 (Review): finish GENERATE-RANDOM-KEY support
I have committed my changes and the task is ready for review Theodoros Theodorou
02:05 AM Feature #6421: finish GENERATE-RANDOM-KEY support
I have created the branch 6421a Theodoros Theodorou

01/30/2023

10:37 AM Feature #6649: improve the performance or SourceNameMapper runtime
I checked in various performance changes in 6129b revision 14394. Please review. Hynek Cihlar

01/27/2023

01:18 PM Feature #7082: Improve converted call site names
I think we can provide this as an option, though if we do we will want to reduce some of the text (maybe remove the @... Greg Shah
12:57 PM Feature #7082: Improve converted call site names
I suggest to make call site names more readable. E.g. I have to click each of this sites to understand what this code... Stanislav Lomany
12:51 PM Feature #7082 (New): Improve converted call site names
Stanislav Lomany
08:04 AM Feature #3853: implement LOG-MANAGER runtime
I've found a workaround fix for batch writing all @stdout@ through @ErrorWriterBatch#displayError()@, which messed up... Galya B

01/26/2023

10:06 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
The use of @String.toLowerCase@ and @toUpperCase@ in @P2JField.computeHash - 90k@ and @Validation.setUniqueQueryPara... Hynek Cihlar
09:58 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
The use of @toLowerCase@ and @toUpperCase@ in @h2.Function.getSimpleValue - 178k@ is valid there. Hynek Cihlar
09:04 AM Feature #6421: finish GENERATE-RANDOM-KEY support
Create a task branch (6421a) and you can commit changes there. Greg Shah
08:52 AM Feature #6421: finish GENERATE-RANDOM-KEY support
I read the encryption algorithm by using @SecurityPolicyManager.getSymmetricEncryptionAlgorithm().toStringMessage()@.... Theodoros Theodorou

01/25/2023

04:13 PM Feature #6649: improve the performance or SourceNameMapper runtime
Greg Shah wrote:
> 3821c?
I meant 6129b. 3821c has burned into my cerebral cortex after the years working with th...
Hynek Cihlar
04:08 PM Feature #6649: improve the performance or SourceNameMapper runtime
3821c? Greg Shah
03:48 PM Feature #6649: improve the performance or SourceNameMapper runtime
3821c revision 14382 introduces caching of resolved procedure internal entries. It speeds up tests in a large custome... Hynek Cihlar
01:06 PM Feature #3853: implement LOG-MANAGER runtime
I've found an unexpected behavior with batch execution. @stdout@ is displayed using @ErrorManager.displayError(lineOu... Galya B
07:37 AM Bug #7073 (New): Launching non-interactive program creates JNI core dump in process_linux.c due t...
Greg Shah
11:25 PM Bug #7073: Launching non-interactive program creates JNI core dump in process_linux.c due to ncurses
Greg Shah wrote:
> That failing code is not code that is checked in to trunk. It is specific to *your system*. You...
Roger Borrello
07:29 PM Bug #7073 (Rejected): Launching non-interactive program creates JNI core dump in process_linux.c ...
That failing code is not code that is checked in to trunk. It is specific to *your system*. Your logging is broken. Greg Shah

01/24/2023

06:57 PM Bug #7073: Launching non-interactive program creates JNI core dump in process_linux.c due to ncurses
With logging added to @process_linux.c@ we see it occur in @ fprintf(fp, "pseudoTerminalWait: move cursor part 2... Roger Borrello
06:56 PM Bug #7073: Launching non-interactive program creates JNI core dump in process_linux.c due to ncurses
@uast/util/process_launch_helper.p@ can be used.
Using Swing, run the program, and pass in any command, like *ls*
...
Roger Borrello
06:50 PM Bug #7073 (New): Launching non-interactive program creates JNI core dump in process_linux.c due t...
Roger Borrello
02:53 AM Feature #6649: improve the performance or SourceNameMapper runtime
Constantin Asofiei wrote:
> Hynek Cihlar wrote:
> > Constantin Asofiei wrote:
> > > Bellow are the backtraces for ...
Hynek Cihlar
02:38 AM Feature #6649: improve the performance or SourceNameMapper runtime
Hynek Cihlar wrote:
> Constantin Asofiei wrote:
> > Bellow are the backtraces for @SourceNameMapper.getInternalEntr...
Constantin Asofiei
02:37 AM Feature #6649: improve the performance or SourceNameMapper runtime
Constantin Asofiei wrote:
> Bellow are the backtraces for @SourceNameMapper.getInternalEntry@ - these are reduced af...
Hynek Cihlar
02:24 AM Feature #6649: improve the performance or SourceNameMapper runtime
Bellow are the backtraces for @SourceNameMapper.getInternalEntry@ - these are reduced after the InvokeConfig call-sit... Constantin Asofiei

01/23/2023

12:02 PM Feature #6649: improve the performance or SourceNameMapper runtime
Constantin, I didn't find any major performance issues profiling the big customer application. Can you please share m... Hynek Cihlar

01/20/2023

09:48 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
I marked the issue at 100%. But there are still some left out places, those that were more complex to address (see #6... Hynek Cihlar
09:27 AM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
A resume of what was done at this task:
Experiments were done using lambda expression instead of Java reflection o...
Constantin Asofiei
09:25 AM Support #4032: block/transaction processing context-local and other performance improvements
Changes mentioned in previous notes:
* cache the 'helper' instance at the WrappedResource, object and other cases, t...
Constantin Asofiei
09:23 AM Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
Profiling and manual/automated code review was used to identify BDT and collection fields in WrappedResource implemen... Constantin Asofiei
09:22 AM Feature #6826 (Review): reduce the BDT usage in FWD runtime
Profiling and manual/automated code review was used to identify BDT field and local variable definitions. These were... Constantin Asofiei
09:21 AM Feature #6824: lazy initialization of collection class members
The fixes part of the fixes from previous notes were determined from profiling and manual/automated code review, used... Constantin Asofiei
09:20 AM Feature #6650: improve performance of Scopeable notification in TM.processScopeNotifications
After what was done in #6650-34, scope processing is still an expensive area, although the possibilities to improve i... Constantin Asofiei
08:51 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
I understand. My concern is not with your change, it is with my code in @convert/control_flow.rules@. It doesn't co... Greg Shah
08:34 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
The code in control_flow.rules considers the case where the 4GL @return.@ statement is the last one in the top-level ... Constantin Asofiei
08:30 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Code Review Task Branch 7045a Revision 14481
I don't object to the change, but I'm unsure if it will work quite ri...
Greg Shah
03:25 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
The changes from 7045a are ported and committed to 6129b/14375. Constantin Asofiei
02:37 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
7045a/14481 added another condition to emit a real Java return: the 4GL return statement must not have any downstream... Constantin Asofiei
07:05 AM Feature #6649: improve the performance or SourceNameMapper runtime
6129b revision 14376 reimplements the case insensitive maps in @SourceNameMapper@ with @CaseInsensitiveHashMap@. Hynek Cihlar

01/19/2023

02:33 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Constantin Asofiei wrote:
> Hynek Cihlar wrote:
> > ... 6129b revision 14369. And related fixes. Please review.
> ...
Hynek Cihlar
02:20 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Hynek Cihlar wrote:
> ... 6129b revision 14369. And related fixes. Please review.
I see only one issue:
* TempTabl...
Constantin Asofiei
11:21 AM Feature #6820 (Review): reduce String.toLowerCase and toUpperCase usage and String instances
I removed all the upper/lower case occurrences in the list in #6820-4 with the exception of the following list. These... Hynek Cihlar
06:48 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Eric Faulhaber wrote:
> Hynek Cihlar wrote:
>
> > I'm not sure we want to give up @AbstractHashedMap@. My prelimin...
Hynek Cihlar
06:33 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
XmlImport.tablesByXmlName changed to @CaseInsensitiveHashMap@ and some other cases in 6129b revision 14369. And relat... Hynek Cihlar
02:28 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Code Review Task Branch 7045a Revision 14480
Weird. I don't understand the reason this works, but the code seems ...
Greg Shah
02:11 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
The problem described in #7045-15 is fixed in 7045a rev 14480. Constantin Asofiei
08:11 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
There was a regression, in some cases like:... Constantin Asofiei
11:21 AM Feature #6649 (WIP): improve the performance or SourceNameMapper runtime
Hynek Cihlar

01/18/2023

03:49 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
In the large customer application I see an improvement between 100-200ms between 6129b revisions 14366 and 14368.
Hynek Cihlar
03:23 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
@XmlImport.tablesByXmlName@ can be switched to a @CaseInsensitiveHashMap@. The other cas remaining - from @TempTable... Constantin Asofiei
02:45 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Constantin Asofiei wrote:
> Hynek Cihlar wrote:
> > Constantin Asofiei wrote:
> > > Unfortunately this introduces ...
Hynek Cihlar
02:36 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Constantin Asofiei wrote:
> Both commons-collections-3.2.2.jar and commons-collections4-4.4.jar are copied in @build...
Hynek Cihlar
02:21 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Hynek Cihlar wrote:
> Constantin Asofiei wrote:
> > Unfortunately this introduces a visible slowdown in a large cus...
Constantin Asofiei
02:06 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Constantin Asofiei wrote:
> Unfortunately this introduces a visible slowdown in a large customer application perform...
Hynek Cihlar
12:25 PM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Unfortunately this introduces a visible slowdown in a large customer application performance testing - ~200ms or so. Constantin Asofiei
11:12 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Hynek Cihlar wrote:
> Actually we explicitly declare dependency on @commons-collection-3.2.2@. I deliberately added ...
Constantin Asofiei
11:09 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Hynek Cihlar wrote:
> I'm not sure we want to give up @AbstractHashedMap@. My preliminary testing shows it outperf...
Eric Faulhaber
10:41 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Constantin Asofiei wrote:
> Hynek, you add a dependency on @commons-collections4@ ver @4.4@, but FWD already is (in)...
Hynek Cihlar
10:16 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
Hynek, you add a dependency on @commons-collections4@ ver @4.4@, but FWD already is (in)directly dependent on commons... Constantin Asofiei
08:56 AM Feature #6820: reduce String.toLowerCase and toUpperCase usage and String instances
6129b revision 14367 resolves most of the cases reported in #6820-4.
Some cases were kept because the use of lower...
Hynek Cihlar
03:27 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
OK, go ahead when it makes sense. Greg Shah
03:24 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Greg Shah wrote:
> Constantin: Do you want me to merge this into 6129b? It does require a reconversion, but I'd lik...
Constantin Asofiei
02:43 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Constantin: Do you want me to merge this into 6129b? It does require a reconversion, but I'd like to get the perform... Greg Shah
08:39 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
I haven't ported this to 6129b but it should apply pretty easily. Please try it on the customer app to see the diffe... Greg Shah
08:35 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Greg Shah wrote:
> I use @wa.tm.getBlockType()@ to check the current block instead of looking at @nearest@ which wou...
Constantin Asofiei
08:33 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
I use @wa.tm.getBlockType()@ to check the current block instead of looking at @nearest@ which would be @BlockType.FUN... Greg Shah
08:32 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
It does exit. I've tested it here. In this case the current block type is NOT @BlockType.FUNCTION@ so it will throw... Greg Shah
08:13 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
My point is about this code:... Constantin Asofiei
07:39 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
> Isn't @BlockManager.returnNormal@ supposed to throw the @ReturnUnwindException@? I mean, this code should distingui... Greg Shah
02:33 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
Greg Shah wrote:
> Constantin: Please review 7045a revision 14479.
Isn't @BlockManager.returnNormal@ supposed to th...
Constantin Asofiei

01/17/2023

06:28 PM Feature #7045 (Review): re-implement "normal" (non-abend) stack unwinding to avoid throwing an ex...
Constantin: Please review 7045a revision 14479. Greg Shah
06:26 PM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
In addition to user-defined functions, 2 additional callable program types which are efectively the equivalent of use... Greg Shah
09:24 AM Feature #7045: re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
I'm working on a simple approach for now. Rather than reimplementing all of the flow control for the cases where the... Greg Shah
09:13 AM Feature #3853: implement LOG-MANAGER runtime
+This diagram shows the current state of the call stack producing error logs (not a complete view):+
!clientlog-ol...
Galya B
06:36 AM Feature #6821: java collection performance
As far as I can see, only @pruneSessionCache()@ issue is left here. Stanislav Lomany
06:35 AM Feature #6821: java collection performance
> You will see that the Scopeable scopestart/finished do lots of work - please check if it may be possible to condens... Stanislav Lomany
02:35 AM Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
Constantin Asofiei wrote:
> 6129b/14365 fixes a problem related to WidgetPool .
The change is good, thanks!
Hynek Cihlar

01/16/2023

03:54 PM Feature #6824: lazy initialization of collection class members
Some other changes related to this are in 6129b/14366. Constantin Asofiei
03:54 PM Support #4032: block/transaction processing context-local and other performance improvements
Another batch of changes related to this is in 6129b/14366 Constantin Asofiei
03:53 PM Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
6129b/14366 contains a set of changes related to this, I don't think there's anything else remaining related to the w... Constantin Asofiei
03:53 PM Feature #6826: reduce the BDT usage in FWD runtime
6129b/14366 contains a set of changes related to this, mainly from what profiling a large customer app showed. Constantin Asofiei
03:51 PM Feature #6817 (Test): replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the ...
6129b/14365 fixes a problem related to WidgetPool . Constantin Asofiei
03:51 AM Feature #6817 (Review): replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with th...
I checked in the changes in 6129b revision 14364. In addition to the attached 6817a.diff I also modified the followin... Hynek Cihlar
02:10 AM Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
Hynek, I don't see any issue with the patch. Also, the comments don't introduce anything new. Please add header ent... Constantin Asofiei
11:51 AM Bug #6399: ENCRYPT/DECRYPT built-in function results different than 4GL when IV is shorter than r...
The runtime implementation of this is in @SecurityOps.encrypt()/decrypt()@. There should be no conversion changes ne... Greg Shah
11:49 AM Feature #6421: finish GENERATE-RANDOM-KEY support
The runtime implementation of this is in @SecurityOps.generateRandomKey()@. There should be no conversion changes ne... Greg Shah
11:41 AM Feature #6421 (WIP): finish GENERATE-RANDOM-KEY support
Theodoros Theodorou
10:41 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> Performance overhead in function vs procedure is cause by throwing @ReturnUnwindException@...
Greg Shah
08:24 AM Feature #6821: java collection performance
Performance overhead in function vs procedure is cause by throwing @ReturnUnwindException@. I think that in vast majo... Stanislav Lomany
10:29 AM Feature #7045 (Test): re-implement "normal" (non-abend) stack unwinding to avoid throwing an exce...
Greg Shah
03:52 AM Feature #6820 (WIP): reduce String.toLowerCase and toUpperCase usage and String instances
Hynek Cihlar

01/14/2023

04:57 PM Feature #6821: java collection performance
Stanislav Lomany wrote:
> [...]
>
> It looks interesting to me that functions are executed 10 times slower than p...
Greg Shah
04:28 PM Feature #6821: java collection performance
... Stanislav Lomany

01/13/2023

05:23 PM Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
The attached diff contains @handle@ replacements for the @com.goldencode.p2j.persist@ Java package. I left several co... Hynek Cihlar
02:21 PM Feature #6821: java collection performance
Committed 6129b rev 14358: Final round of performance improvements which are replacements of some 'for-each' loops wi... Stanislav Lomany
08:42 AM Feature #3853: implement LOG-MANAGER runtime
When @-clientlog@ or @LOG-MANAGER:LOGFILE-NAME@ is defined logging level 1 is always enabled (except if explicitly se... Galya B
02:52 AM Feature #3853: implement LOG-MANAGER runtime
Marian Edu wrote:
> Bref, using @-errostack@ has no effect on the client log so don't bother with it in this case.
...
Galya B
02:43 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Marian: Can you offer any guidance?
* @-errorstack@ (@session:error-stack-trace@) has no effec...
Marian Edu

01/12/2023

10:05 AM Feature #3853: implement LOG-MANAGER runtime
Marian: Can you offer any guidance? Greg Shah
06:40 AM Feature #3853: implement LOG-MANAGER runtime
I'm trying to find the difference in the log files when @SESSION:ERROR-STACK-TRACE@ (@-errorstack@) is enabled, but f... Galya B
09:33 PM Feature #6824: lazy initialization of collection class members
Review of: 6129b/14348.
I am OK with the code. However, in @DataSet@, when it is decided that @callbacks == null@ ...
Ovidiu Maxiniuc

01/10/2023

02:15 PM Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
I'm still on #6821, so feel free to do anything you want here. Stanislav Lomany
02:13 PM Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
Stanislav, do you need help here? Constantin Asofiei
12:14 PM Feature #6821: java collection performance
Committed 6129b rev 14351: @P2JIndex.components()@ provides direct access to the components array in order to improve... Stanislav Lomany
11:13 AM Feature #6821: java collection performance
Greg Shah wrote:
> Don't we already know the exact list of rowids used for all @UPDATE@ statements? We also know th...
Ovidiu Maxiniuc
10:27 AM Feature #6821: java collection performance
> Ultimately, we could iterate the tables individually and process (delete/update then invalidate) the records indivi... Greg Shah
08:40 PM Feature #6821: java collection performance
The reason @pruneSessionCache()@ is called on @afterBuf@ and @beforeBuf@ after a batch operation executed using SQL d... Ovidiu Maxiniuc
10:51 AM Feature #6826: reduce the BDT usage in FWD runtime
Stanislav Lomany wrote:
> No.
OK, I'm taking it, as is easier to look in the profiler and see what can be reduced.
Constantin Asofiei
10:50 AM Feature #6826: reduce the BDT usage in FWD runtime
No. Stanislav Lomany
10:50 AM Feature #6826: reduce the BDT usage in FWD runtime
Stanislav, did you start work on this? Constantin Asofiei
09:20 AM Feature #3853: implement LOG-MANAGER runtime
*Logging level rules:*
|Startup params/4GL setters|Auto set logging level|
|none|2|
|-logentrytypes (invalid)|0|...
Galya B
07:38 AM Feature #6650: improve performance of Scopeable notification in TM.processScopeNotifications
6129b/14350 improves:
* OUTPUT parameter processing: track if an output parameter is associated with a table field, ...
Constantin Asofiei
07:34 AM Support #4032: block/transaction processing context-local and other performance improvements
A batch of changes (including #4032-5) are in 6129b/14349 Constantin Asofiei
07:12 AM Feature #6824: lazy initialization of collection class members
A batch of changes (including #6824-4) are in 6129b/14348
Please review.
Constantin Asofiei

01/09/2023

12:58 PM Feature #6821: java collection performance
Greg Shah wrote:
> I was thinking of the DMO in its buffer form, not the concept of the specific record that is co...
Eric Faulhaber
07:33 AM Feature #6821: java collection performance
> PreselectQuery.components() - 430k
Committed 6129b rev 14345: replaced components iterator with @ArrayList.get()...
Stanislav Lomany
06:58 AM Feature #6821: java collection performance
Eric Faulhaber wrote:
> Greg Shah wrote:
> > Eric Faulhaber wrote:
> > > Greg Shah wrote:
> > > > > Greg, are you...
Greg Shah
06:33 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > I would start with Java arrays first (look for @[]@ in the text).
>
> Constantin, are...
Constantin Asofiei
08:57 AM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Greg Shah wrote:
> I understand there is no performance difference in lambdas themselves. I'm wondering about the c...
Constantin Asofiei

01/08/2023

01:36 PM Feature #6821: java collection performance
> I would start with Java arrays first (look for @[]@ in the text).
Constantin, are you suggesting to replace enha...
Stanislav Lomany

01/07/2023

05:51 PM Feature #6821: java collection performance
The "for" cycle changes reviewed by Constantin were merged and committed as 6129b rev 14344. Stanislav Lomany

01/06/2023

05:53 PM Feature #6821: java collection performance
Greg Shah wrote:
> Eric Faulhaber wrote:
> > Greg Shah wrote:
> > > > Greg, are you suggesting to maintain for tem...
Eric Faulhaber
03:41 PM Feature #6821: java collection performance
> Please backport this 3821c/14472 to 6129b and commit it there.
Committed as 6129b rev 14343.
Stanislav Lomany
02:19 PM Feature #6821: java collection performance
Eric Faulhaber wrote:
> Greg Shah wrote:
> > > Greg, are you suggesting to maintain for temp-tables a map of Record...
Greg Shah
02:18 PM Feature #6821: java collection performance
Do we assign a new @rowid@ when we copy temp-table records from one temp-table to another, like in table parameter pr... Greg Shah
02:07 PM Feature #6821: java collection performance
I made an assumption that temp-table record IDs are not unique across multiplex IDs, which is wrong, as you're saying... Stanislav Lomany
02:05 PM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > Do I understand correctly that only the most recently added entry will be kept and any o...
Eric Faulhaber
02:03 PM Feature #6821: java collection performance
Greg Shah wrote:
> One thing that is not obvious to me is how the cache is used. Since we are using temp-tables wit...
Eric Faulhaber
02:01 PM Feature #6821: java collection performance
> Do I understand correctly that only the most recently added entry will be kept and any older entry is overwritten? ... Stanislav Lomany
01:56 PM Feature #6821: java collection performance
Greg Shah wrote:
> > Greg, are you suggesting to maintain for temp-tables a map of RecordBuffer.dmoClass -> Set of r...
Eric Faulhaber
01:29 PM Feature #6821: java collection performance
One thing that is not obvious to me is how the cache is used. Since we are using temp-tables with this mechanism, it... Greg Shah
01:25 PM Feature #6821: java collection performance
> Greg, are you suggesting to maintain for temp-tables a map of RecordBuffer.dmoClass -> Set of records?
Not exac...
Greg Shah
12:52 PM Feature #6821: java collection performance
@invalidateRecords@ method is called only for temp-tables. And called only by @ACCEPT-CHANGES@ method (I'm interested... Stanislav Lomany
12:25 PM Feature #6821: java collection performance
All usage of @Session.invalidateRecords()@ comes from @RecordBuffer.pruneSessionCache()@ which is only called in 2 pl... Greg Shah
12:05 PM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > TableMapper$LegacyFieldInfo.getMutableInfo 1.8 million
>
> This one looks like cachin...
Constantin Asofiei
11:39 AM Feature #6821: java collection performance
> TableMapper$LegacyFieldInfo.getMutableInfo 1.8 million
This one looks like caching may be slightly improved, but...
Stanislav Lomany
02:14 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > You also need checks if this is the single resource in the chain being deleted, in this ...
Constantin Asofiei
03:05 PM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
I understand there is no performance difference in lambdas themselves. I'm wondering about the call to @LambdaFactor... Greg Shah
02:51 PM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Greg Shah wrote:
> The dynamic generation of the lambdas for an external procedure is only done the first time the e...
Constantin Asofiei
10:44 AM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
The dynamic generation of the lambdas for an external procedure is only done the first time the external proc is load... Greg Shah
10:22 AM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Eric: Are you OK with the proxy and persistence changes? Greg Shah
10:22 AM Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Code Review 6819_20221223_6129b_14341.patch
I have no objections.
Greg Shah
02:44 PM Support #4032: block/transaction processing context-local and other performance improvements
Constantin Asofiei wrote:
> * I think I'll do some experimenting if keeping the reference of @ProcedureManager$Proce...
Constantin Asofiei

01/05/2023

02:37 PM Feature #6821: java collection performance
> You also need checks if this is the single resource in the chain being deleted, in this firstResource/lastResource ... Stanislav Lomany
06:20 AM Feature #6821: java collection performance
Constantin Asofiei wrote:
> Attached is a space-delimited file with all FOR EACH loops which have a List, ArrayList ...
Constantin Asofiei
04:26 AM Feature #6821: java collection performance
Forgot to add the csv file. Constantin Asofiei
04:25 AM Feature #6821: java collection performance
Keep in mind that this:... Constantin Asofiei
04:25 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > what branch and revision did you use for this patch?
>
> 3821c rev 14467.
The patch ...
Constantin Asofiei
01:54 PM Support #4032: block/transaction processing context-local and other performance improvements
Attached is a trace file with @ContextLocal.get@ usage in a customer application. This is expanded on 3 levels, leve... Constantin Asofiei
08:10 AM Feature #3853: implement LOG-MANAGER runtime
> > Is this different than @MESSAGE VIEW-AS ALERT-BOX@? Or is this just the case where the 4GL handles the really lo... Greg Shah
08:10 AM Feature #3853: implement LOG-MANAGER runtime
> It is @ContextLocal@, which creates an instance of the log manager wrapper through @class Fallback extends ThreadLo... Greg Shah
07:57 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> We must solve this properly. The behavior needs to match the 4GL implementation while implementi...
Galya B
07:51 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Is this different than @MESSAGE VIEW-AS ALERT-BOX@? Or is this just the case where the 4GL handl...
Galya B
07:49 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> > Our implementation of @LOG-MANAGER@ runs purely on the server.
>
> It is certainly preferab...
Galya B
07:48 AM Feature #3853: implement LOG-MANAGER runtime
> Do we want also the 32767 chars limit for @LOG-MANAGER:WRITE-MESSAGE@?
Yes. Also, please implement the limit of...
Greg Shah
06:47 AM Feature #3853: implement LOG-MANAGER runtime
A few observations in relationship to max log message length (tested):
* By default statement length is limited to...
Galya B
04:47 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Does the 4GL have an implicit set of settings for @LOG-MANAGER@ in an appserver process? If so, ...
Galya B
03:50 AM Feature #3853: implement LOG-MANAGER runtime
Constantin Asofiei wrote:
> Galya: please post what logmanager related config needs to added.
4GL LOG-MANAGER con...
Galya B
03:06 AM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> For @logthreshold@ and @numlogfiles@ and the other items from #3853-19, we should be able to conf...
Constantin Asofiei

01/04/2023

02:44 PM Feature #6817 (WIP): replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the a...
Hynek Cihlar
11:23 AM Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
In Eclipse, there is a way to look for a field or local variable of a certain type. Other IDEs should have something... Constantin Asofiei
12:46 PM Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> From Galya via email:
>
> > I've tested gui, batch, web gui clients and they are working well ...
Constantin Asofiei
12:33 PM Feature #3853: implement LOG-MANAGER runtime
From Galya via email:
> I've tested gui, batch, web gui clients and they are working well with @LOG-MANAGER@. But ...
Greg Shah
12:29 PM Feature #3853: implement LOG-MANAGER runtime
For @logthreshold@ and @numlogfiles@ and the other items from #3853-19, we should be able to configure these via 2 me... Greg Shah
08:04 AM Feature #3853: implement LOG-MANAGER runtime
Galya Bogdanova wrote:
> open a @-debugalert@ separate task (maybe #4065 or this one #3853) to migrate the logic to ...
Galya B
07:55 AM Feature #3853: implement LOG-MANAGER runtime
Galya Bogdanova wrote:
> P.S.S. The easiest quickest patch to complete #5753 would be to just switch the dependency ...
Galya B
04:58 AM Feature #3853: implement LOG-MANAGER runtime
*Current clientlog implementation and -debugalert*
Currently the code uses @-clientlog@ startup param to enable lo...
Galya B
03:10 AM Feature #3853: implement LOG-MANAGER runtime
*Rotation and testing*
A substantial part of LOG-MANAGER's logic is related to handling rotation of log files and is...
Galya B
08:54 AM Feature #6821: java collection performance
> what branch and revision did you use for this patch?
3821c rev 14467.
Stanislav Lomany
05:17 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> > Related to map access (hashCode calls):
> > ** @HandleChain.delete@ 880k
>
> Maybe w...
Constantin Asofiei
05:13 AM Feature #6821: java collection performance
Stanislav Lomany wrote:
> Please review the diff which replaces "for-each" loops with indexed "for" loops (I'll add ...
Constantin Asofiei
08:32 AM Feature #6824 (WIP): lazy initialization of collection class members
Constantin Asofiei
 

Also available in: Atom