Project

General

Profile

Activity

From 06/10/2023 to 07/09/2023

07/07/2023

10:21 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
*Review*
* In @Query@, the comparison is not correct. If @a@ and @b@ don't have the same value type, it doesn't m...
Alexandru Lungu
06:48 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
*Committed 7454a_h2/rev.25*.
* Renamed @OPTIMIZE_IGNORE_CASE@ to @DEFAULT_IGNORE_CASE@
* Fixed test cases to handle...
Dănuț Filimon
05:57 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
The problem mentioned in #7454-7 is almost solved, all there is to do is to test it a bit more, I even managed to wri... Dănuț Filimon
08:31 AM Bug #7334: Reclaim used sessions to improve performance
Merged 7334a to trunk as rev. 14645. Archived 7334a. Alexandru Lungu
07:31 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu wrote:
> Rebased 7334a with trunk rev. 14642. 7334a is now at rev. 14647.
>
> Danut, please updat...
Dănuț Filimon
06:41 AM Bug #7334: Reclaim used sessions to improve performance
The time improvement is -2.5%.
I've done two heap dumps and compared them. I have the same number of instances wit...
Alexandru Lungu
04:09 AM Bug #7334: Reclaim used sessions to improve performance
Rebased 7334a with trunk rev. 14642. 7334a is now at rev. 14647.
Danut, please update 7334a and try to do a full t...
Alexandru Lungu
06:16 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Rebased 7404a to latest trunk. 7404a is now at rev. 14651. Alexandru Lungu
03:17 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Stefan, please add these two sub-tasks (#7489 and #7488) to the H2 performance Wiki asap. Alexandru Lungu
03:14 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
The current performance degraded even more to +0.6%. This may be due to the slow fast-copy we do. I guess most of the... Alexandru Lungu
04:10 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Radu, I have the following warning when building:... Alexandru Lungu
09:05 PM Bug #7467: join on meta table
Unlike the other two join relations, this is not saved to DMO interface. The runtime code which analyses the involved... Ovidiu Maxiniuc

07/06/2023

09:45 AM Bug #7403: Copy-temp-table with replace-mode should replace already inserted records
I tried integrating the invalidation with other occurrences of @invalidateFFCache@ but I couldn`t find a proper way, ... Ștefan Roman
09:35 AM Bug #7489: Lazily initialize DMO signature
If there is a benefit to lazily computing them, then there is a benefit to compute them in advance. Of course, there... Greg Shah
08:54 AM Bug #7489: Lazily initialize DMO signature
Do you think of any performance gain if we compute them at conversion time? The static DMOs will have their signature... Alexandru Lungu
08:46 AM Bug #7489: Lazily initialize DMO signature
Can these signatures be computed at conversion time? If so, let's compute them once and write them into the DMO as @... Greg Shah
08:39 AM Bug #7489 (WIP): Lazily initialize DMO signature
DmoSignature is eagerly computed in the @DmoMeta@ constructor. This may not be ideal for dynamic temp-tables that won... Alexandru Lungu
08:36 AM Bug #7489 (Rejected): Lazily initialize DMO signature
Alexandru Lungu
09:22 AM Bug #7388 (Review): Create server configuration container for cache sizes
Merged 7388a in trunk as rev. 14641 and archived. Alexandru Lungu
08:42 AM Bug #7467: join on meta table
Ovidiu, is the relation info added at the DMOs during conversion mandatory for the runtime to work properly? I ask be... Constantin Asofiei
09:34 PM Bug #7467: join on meta table
Eric Faulhaber wrote:
> Code review 7467a/14636:
>
> Sorry, it's been a long time since I looked at this code and...
Ovidiu Maxiniuc
08:40 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Created #7448 and #7449 to further optimize the temp-table (fast-)copy process. Alexandru Lungu
07:24 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu wrote:
> *Constantin, if there are other topics to be discussed here, please let me know. I will alw...
Constantin Asofiei
07:01 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu wrote:
> Danut, just to confirm:
> * If I don't set any option, there will be no reclaim.
> * If I...
Dănuț Filimon
06:31 AM Bug #7334 (Review): Reclaim used sessions to improve performance
I will redo the testing and performance with this latest version (7334a / rev.14641). I intend to rebase and merge 73... Alexandru Lungu
06:23 AM Bug #7488 (WIP): Slow fast-copy with before tables in H2
This is mostly related to #7404-19. After several optimizations, the most time consuming operations of fast-copy are ... Alexandru Lungu
06:21 AM Bug #7488 (Closed): Slow fast-copy with before tables in H2
Alexandru Lungu

07/05/2023

06:31 PM Bug #7467: join on meta table
Code review 7467a/14636:
Sorry, it's been a long time since I looked at this code and it has changed quite a lot f...
Eric Faulhaber
03:13 PM Bug #7467: join on meta table
Constantin Asofiei wrote:
> Ovidiu, we need this in trunk soon. What testing is needed?
The conversion does not ac...
Ovidiu Maxiniuc
01:16 PM Bug #7467: join on meta table
Ovidiu, we need this in trunk soon. What testing is needed?
Also, do you still see the @com.goldencode.p2j.schema...
Constantin Asofiei
11:22 AM Bug #7449: unqualified _File buffer must target the first database in the connection list
Eric Faulhaber wrote:
> Constantin Asofiei wrote:
> > Eric, is it OK to ensure that for the @standard@ namespace by...
Constantin Asofiei
10:56 AM Bug #7449: unqualified _File buffer must target the first database in the connection list
Constantin Asofiei wrote:
> Eric, is it OK to ensure that for the @standard@ namespace by default the @SchemaConfig$...
Eric Faulhaber
10:18 AM Bug #7449: unqualified _File buffer must target the first database in the connection list
There is an unintended consequence to these changes. If in @p2j.cfg.xml@, the @standard@ namespace is not explicitly... Constantin Asofiei
10:57 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
I looked into the rtrim test and the failed assertion was caused by something that should've been expected. If you cr... Dănuț Filimon
09:59 AM Bug #7448: Optimize FWD-H2 ValueTimestampTimeZone and maybe avoid caching
I made another test that calculates the avg @ValueTimestampTimeZone@ that are in cache. I`m checking every 1000 Value... Ștefan Roman
07:55 AM Bug #7448: Optimize FWD-H2 ValueTimestampTimeZone and maybe avoid caching
I added a test for the number of @CurrentTimestamp.get@ and the time spent doing it. I will attach a patch so you can... Ștefan Roman
08:31 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
I added the first change, where I retrieve sqlSignature only if simpleCopy is false, I will wait for another profilin... Ștefan Roman
07:33 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
I tested with a large application and I got some interesting insights:
|_. Simple copy |_. Append |_. Loose-copy |...
Alexandru Lungu
04:36 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
I done some testing and everything works fine. I only notices a slight improvement:
* The usual case is to match t...
Alexandru Lungu
07:28 AM Bug #7334: Reclaim used sessions to improve performance
I managed to finish and test @Session@ and @DmoVersioning@, I especially looked into @Session.cache@, @Session.cacheE... Dănuț Filimon
04:39 AM Feature #6815: configure all cache sizes in the directory, and create documentation for them
Alexandru Lungu wrote:
> This is already implemented in 7388a.
We need also the documentation.
Constantin Asofiei
03:29 AM Feature #6815: configure all cache sizes in the directory, and create documentation for them
This is already implemented in 7388a. Alexandru Lungu
03:34 AM Feature #7447 (WIP): Compare ValueString and ValueStringIgnoreCase faster in FWD-H2
Danut, please check if this is still happening after your changes in #7454. Of course, before the changes, there were... Alexandru Lungu
03:30 AM Bug #6385 (WIP): Problem with conversion of REPOSITION TO ROWID with UNKNOWN literal for rowid
Alexandru Lungu

07/04/2023

09:27 AM Bug #7474: FindQuery provides the wrong result because the record is not updated in the database
To narrow down the example, the main point here is that a different buffer is used for the record that gets updated. ... Radu Apetrii
08:43 AM Feature #7404 (Review): Trasform replace-mode into append-mode when target table is empty
Review to *7404a, revision 14631*
* The changes are OK, good job.
I will do a testing + profiling round. Keep y...
Alexandru Lungu
07:46 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
The problem was that the tables created dynamically had changed field names in SQL (field1, field2, ...) and the @exp... Ștefan Roman
07:48 AM Bug #7448 (WIP): Optimize FWD-H2 ValueTimestampTimeZone and maybe avoid caching
Stefan, this is a performance concern; please focus on fixing this. Alexandru Lungu
07:47 AM Bug #7412 (Test): PresortQuery ORDER BY has to many clauses
7026e reached trunk as rev. 14638.
This can be closed now.
Alexandru Lungu
07:24 AM Feature #7323: Implement soft unique index in FWD-H2
Alexandru Lungu wrote:
> Cool! I am waiting for the regression fix now, so at that point I am able to do the proper ...
Radu Apetrii
05:20 AM Feature #7323: Implement soft unique index in FWD-H2
> I've allowed them to still do the insert/update, but I've decided to not log the cases in which the database can't ... Alexandru Lungu
05:09 AM Feature #7323: Implement soft unique index in FWD-H2
Here's a patch for measuring how many inserts/updates are executed in total/successfully with @VALIDATE@ and seeing h... Radu Apetrii
04:23 AM Feature #7323: Implement soft unique index in FWD-H2
I've committed to 7323a, rev. 14591 the following changes:
Alexandru Lungu wrote:
> Radu, consider the right chan...
Radu Apetrii
03:17 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu:
> Danut, please commit them for further review.
*Committed 7334a/rev.14641*. This will make the li...
Dănuț Filimon

07/03/2023

03:16 PM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Constantin Asofiei wrote:
> Ovidiu, that looks interesting; I think is better to have the legacy field name instead ...
Ovidiu Maxiniuc
03:02 PM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Ovidiu, that looks interesting; I think is better to have the legacy field name instead of column label or SQL field ... Constantin Asofiei
01:31 PM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Please use @DataSet.getSqlData()@ and @RecordBuffer.sqlTableContent(N)@ instead. At least as a temporarily workaroun... Ovidiu Maxiniuc
09:48 AM Bug #7334: Reclaim used sessions to improve performance
I rebased 7334a to trunk. 7334a is now at rev. 14640. Alexandru Lungu
03:31 AM Bug #7334: Reclaim used sessions to improve performance
Danut, please focus on this task by testing DMO versioning. I am keen on merging 7334a asap.
In addition to #7334-...
Alexandru Lungu
06:42 AM Feature #7459 (WIP): Implement BucketIndex in FWD-H2 to support multiplex
I've done some basic implementation for this just to test out the hypothesis. I have:... Alexandru Lungu
06:15 AM Bug #7474: FindQuery provides the wrong result because the record is not updated in the database
Take the following example:... Radu Apetrii
04:59 AM Feature #7066: Implement multi-table indexed query in H2
Hmm, I wonder if your logging also captures *multi-table @AdaptiveQuery@* that were optimized from @CQ@. My point: th... Alexandru Lungu
04:21 AM Feature #7066: Implement multi-table indexed query in H2
Alexandru Lungu wrote:
> * How many @CompoundQuery@ on _temp are there and how slow they are. We can use the FWD que...
Radu Apetrii
03:33 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Stefan, please focus exclusively on this task. I am planning to merge 7404a in trunk asap; but the regression should ... Alexandru Lungu
03:17 AM Bug #7138: Short circuit fake-update (update with a new value eqaul to the old value) in H2
Alexandru Lungu wrote:
> Danut, I rebased 7138a_h2 from FWD-H2 trunk (rev. 23). Please commit a patch to avoid fake-...
Dănuț Filimon

07/02/2023

06:56 AM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Is this also why looking at the content of Exceptions changes the exception ? Because we just spend an entire week de... Stefan Brands

07/01/2023

10:05 PM Bug #7467 (Review): join on meta table
Ovidiu Maxiniuc
10:04 PM Bug #7467: join on meta table
Constantin Asofiei wrote:
> Ovidiu, so this means that this 'recid relation' is automatically applied only to meta o...
Ovidiu Maxiniuc

06/30/2023

08:57 AM Feature #7066: Implement multi-table indexed query in H2
Rebased 7066a and 7066a_h2 to latest FWD_H2 and FWD trunk. Alexandru Lungu
03:23 AM Feature #7066: Implement multi-table indexed query in H2
The work here is hanging still for a while. I've done a reread of the changes here.
Currently, multi-table queries...
Alexandru Lungu
07:41 AM Bug #7474 (WIP): FindQuery provides the wrong result because the record is not updated in the dat...
Radu Apetrii
06:43 AM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Constantin Asofiei wrote:
> Current implementation relies on WRITE-JSON, which has side-effects on the default buffe...
Stefan Brands
06:34 AM Bug #7473: rewrite toString() implementation for Dataset, StaticTempTable and TempTableBuilder to...
Current implementation relies on WRITE-JSON, which has side-effects on the default buffer for the temp-table. This m... Constantin Asofiei
06:32 AM Bug #7473 (Test): rewrite toString() implementation for Dataset, StaticTempTable and TempTableBui...
Constantin Asofiei
06:30 AM Bug #7412: PresortQuery ORDER BY has to many clauses
I added it, committed to 7026e, revision 14647. Ștefan Roman
05:07 AM Bug #7412 (Review): PresortQuery ORDER BY has to many clauses
Stefan, please add a history entry to @src/com/goldencode/p2j/persist/PresortQuery.java@ regarding your changes. Don'... Alexandru Lungu
05:57 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
*Review of 7454a_h2/rev.24*
* I am OK with the changes. Good job!
I will start a testing + profiling round and...
Alexandru Lungu
05:36 AM Bug #7454 (Review): Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
Alexandru Lungu
05:50 AM Bug #7421 (Review): Check only the indexes that were changed when using Validation.checkMaxIndexS...
> I've noticed that providing an offset that is greater or equal than 0 results in only one index being changed, this... Alexandru Lungu
05:04 AM Bug #7389 (Test): Make fast-copy statements cachable
Great. I will notify here when 7404a will be eventually merged. Alexandru Lungu
05:02 AM Feature #7076 (Test): make CAN-FIND avoid hydration
Alexandru Lungu
04:55 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu wrote:
> Let me reiterate the protocol here. *Constantin, I would like a feedback on this.*
> * not...
Constantin Asofiei
04:51 AM Bug #7334 (WIP): Reclaim used sessions to improve performance
Danut, please commit them for further review.
> I also have a question, if we consider that a lifespan with the va...
Alexandru Lungu
04:23 AM Bug #7138 (WIP): Short circuit fake-update (update with a new value eqaul to the old value) in H2
I've double checked how many fake-updates are in another customer application and indeed I've got only to 1%. The per... Alexandru Lungu
03:32 AM Bug #7185 (Review): H2 in-memory lazy hydration
This will go in pending for a while. Eric is already doing some parallel work on lazy hydration so we may need to syn... Alexandru Lungu
02:49 AM Feature #7194 (Review): Avoid generating an ORDER-BY clause if not required
Radu, can you try creating the records in different transactions. I don't have a clear perspective yet on how the tes... Alexandru Lungu

06/29/2023

10:21 AM Bug #7412: PresortQuery ORDER BY has to many clauses
Done, I committed the changes on 7026e, revision 14605. Ștefan Roman
06:14 AM Bug #7412: PresortQuery ORDER BY has to many clauses
This can be optimized a bit further:
* Avoid using .size() in for - precompute it in another variable.
* Use @Sor...
Alexandru Lungu
07:16 AM Bug #7389: Make fast-copy statements cachable
Alexandru Lungu wrote:
> The changes are good. However, I think this is quite related to #7404. Danut, please move 7...
Dănuț Filimon
06:24 AM Bug #7389: Make fast-copy statements cachable
The changes are good. However, I think this is quite related to #7404. Danut, please move 7389a changes to 7404a - I ... Alexandru Lungu
04:21 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
*Committed 7454a_h2/rev.24* which adds the @OPTIMIZE_IGNORE_CASE@ database property, it is *false* by default.
I c...
Dănuț Filimon
03:14 AM Feature #7323: Implement soft unique index in FWD-H2
> I think we will need a statistic here. Radu, please feel free to count how many such cases actually occur in a cust... Alexandru Lungu

06/28/2023

11:04 AM Feature #7323: Implement soft unique index in FWD-H2
Alexandru Lungu wrote:
> I really wonder now how often this case actually occurs.
Yes, without some statistics, I...
Eric Faulhaber
10:46 AM Feature #7323: Implement soft unique index in FWD-H2
> The purpose of confirmUniqueConstraintViolation: consider that we are validating record A, which is in the FWD serv... Alexandru Lungu
04:15 AM Bug #7467: join on meta table
Ovidiu, so this means that this 'recid relation' is automatically applied only to meta or permanent tables. That is ... Constantin Asofiei
08:39 PM Bug #7467: join on meta table
I did some more research.
Indeed, in the case of TEMP-TABLES this @<parent>-recid@ lookup does not work. Here is t...
Ovidiu Maxiniuc

06/27/2023

04:58 PM Bug #7467: join on meta table
Constantin Asofiei wrote:
> Ovidiu, @_Index-Seq@ I think is the position of the field in the index definition. Als...
Ovidiu Maxiniuc
02:01 PM Bug #7467: join on meta table
Ovidiu Maxiniuc wrote:
> > I don't have a customer app standalone test for this issue yet.
> I thought you encounte...
Constantin Asofiei
01:44 PM Bug #7467: join on meta table
Constantin Asofiei wrote:
> Ovidiu, @_Index-Seq@ I think is the position of the field in the index definition.
A...
Ovidiu Maxiniuc
02:56 AM Bug #7467: join on meta table
Ovidiu, @_Index-Seq@ I think is the position of the field in the index definition. Also, we need to limit this fix ... Constantin Asofiei
09:05 PM Bug #7467 (WIP): join on meta table
Constantin, please try the following patch:... Ovidiu Maxiniuc
09:56 AM Feature #7323: Implement soft unique index in FWD-H2
The purpose of @confirmUniqueConstraintViolation@: consider that we are validating record A, which is in the FWD serv... Eric Faulhaber
05:36 AM Feature #7323 (WIP): Implement soft unique index in FWD-H2
Radu, please check the following hypothesis from @Validation.validateUniqueByQuery@:... Alexandru Lungu
05:19 AM Feature #7323: Implement soft unique index in FWD-H2
Quite concerning, this runs slower by +0.5%. Only 2/5 profiling runs were faster than the baseline, but with just a b... Alexandru Lungu
08:04 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
> I also tried to find out how @datetime@ and @datetime-tz@ and found that both types will always convert to the valu... Greg Shah
03:21 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
I ran a few tests using CALL and found out that there is aren't a lot of similarities between the conversion to the a... Dănuț Filimon
06:40 AM Bug #7452: Analyze memory of the value cache from FWD-H2 and eventually increase size
I will pend the effort here on analyzing cache size changes until #7454 is finished. Alexandru Lungu
05:39 AM Bug #7454 (WIP): Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
Danut, I created 7454a_h2 for this task. The change is not complex, but confirming this is the right thing to do is h... Alexandru Lungu
04:33 AM Feature #7382: Check performance of delete from vs drop table in H2
This should be pending - #7459 may be a better way to fix this. Alexandru Lungu

06/26/2023

03:06 PM Feature #7466: Using a different database connection to work around sequence specific issues
Yes. Here is the quote from the official OpenEdge manual ("Working with sequences":https://docs.progress.com/bundle/o... Ovidiu Maxiniuc
08:17 AM Feature #7466: Using a different database connection to work around sequence specific issues
You are saying that in the 4GL, all sequence usage is outside of a transaction and never will be rolled back if there... Greg Shah
02:22 PM Bug #7467: join on meta table
Ovidiu, this looks troublesome. 4GL may have some even more hidden fields to be able to join the meta tables, or som... Constantin Asofiei
01:58 PM Bug #7467: join on meta table
This seems like a problem with finding the inverse join index. In the case of these tables, the definitions are simil... Ovidiu Maxiniuc
08:30 AM Feature #6763 (Rejected): implement configurable sizes (in the directory) for FastFindCache and O...
Greg Shah
04:33 AM Feature #6763: implement configurable sizes (in the directory) for FastFindCache and ORM Session ...
Just found out this issue. The same effort is already in-progress as part of #7388. This can be rejected. Alexandru Lungu
08:10 AM Bug #7403: Copy-temp-table with replace-mode should replace already inserted records
Ștefan, please investigate why the invalidation doesn't occur when you are actually validating / saving the new recor... Alexandru Lungu
07:58 AM Bug #7403: Copy-temp-table with replace-mode should replace already inserted records
The error is occurring due to invalidation of the cache. Invalidation takes place after all records have been inserte... Ștefan Roman
07:25 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru Lungu wrote:
> Constantin Asofiei wrote:
>> Alexandru, about the concurrency issues:
> Danut, please do ...
Dănuț Filimon
03:13 AM Feature #7323: Implement soft unique index in FWD-H2
*Review of 7323a, rev. 14590*
* This is OK.
* My only concern is related to @validatedMode ?@. I think you should...
Alexandru Lungu

06/25/2023

07:00 AM Bug #7467: join on meta table
The customer's application has these errors:... Constantin Asofiei
06:58 AM Bug #7467: join on meta table
This test:... Constantin Asofiei
06:53 AM Bug #7467 (Test): join on meta table
Constantin Asofiei

06/24/2023

08:46 PM Feature #7466: Using a different database connection to work around sequence specific issues
This task is related to #7270 so that the approaches used for working around sequences issues can be discussed and do... Ovidiu Maxiniuc
08:21 PM Feature #7466 (WIP): Using a different database connection to work around sequence specific issues
Ovidiu Maxiniuc

06/23/2023

09:46 AM Feature #7323: Implement soft unique index in FWD-H2
I've implemented the logic for @insertValidateSql@ and tested with a customer application. The changes can be found o... Radu Apetrii
06:59 AM Feature #7323: Implement soft unique index in FWD-H2
The profiling results are quite interesting. The average improvement is only -0.2%. *However*, I've got a run with -2... Alexandru Lungu
06:00 AM Feature #7323: Implement soft unique index in FWD-H2
Alexandru Lungu wrote:
> * Please add some extra javadoc to @Persister.insert@ to better understand what @validateMo...
Radu Apetrii
03:48 AM Feature #7323 (Review): Implement soft unique index in FWD-H2
*Review of 7323a, rev. 14588*
* The changes are OK.
* Please add some extra javadoc to @Persister.insert@ to bett...
Alexandru Lungu
07:42 AM Bug #7334: Reclaim used sessions to improve performance
The agents in an appserver live for the lifetime of the FWD Server - so this Session can exist forever, if this LIFET... Constantin Asofiei
06:29 AM Bug #7334: Reclaim used sessions to improve performance
Constantin Asofiei wrote:
> if it executes on the @SessionCloseThread@. We need tests and make sure the @Conversati...
Alexandru Lungu
05:12 AM Bug #7334: Reclaim used sessions to improve performance
I'm not sure how we can solve this:... Constantin Asofiei
05:09 AM Bug #7334: Reclaim used sessions to improve performance
Constantin Asofiei wrote:
> Alexandru, about the concurrency issues:
Danut, please do the fixing.
> otherwise,...
Alexandru Lungu
05:05 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru, about the concurrency issues:
* This code can execute on the @SessionCloseThread@. This is not an @Assoc...
Constantin Asofiei
04:35 AM Bug #7334: Reclaim used sessions to improve performance
> Alexandru, there are some concurrency issues
I will do a second check then. Please let me know if you already sp...
Alexandru Lungu
03:55 AM Bug #7334: Reclaim used sessions to improve performance
Alexandru, there are some concurrency issues, but my main concern is this:... Constantin Asofiei
03:19 AM Bug #7334: Reclaim used sessions to improve performance
*Eric, Constantin, Ovidiu*: can you provide a feedback here. The performance tests show real good results and the imp... Alexandru Lungu
07:31 AM Feature #7320: Extend H2 tester from Hotel GUI
The changes that I did to the H2 tester are :
* I removed the initial create;
* I removed the delete operation tha...
Ștefan Roman
03:12 AM Feature #6630 (Test): optimize return of table parameter
This can be closed now. #6630-2 is already solved and merged into trunk at some point. Alexandru Lungu
03:10 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Please do some forensics on that issue you have with the customer application. Do some debugging - extract the tables... Alexandru Lungu

06/22/2023

10:00 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
After letting simpleCopy be true when the explicit signatures matched, some custom small tests looked fine, but after... Ștefan Roman
07:52 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
With @7404a revision 14629@ it is slightly better, but we are still 1% behind. However, I had really high variance on... Alexandru Lungu
09:28 AM Feature #7459: Implement BucketIndex in FWD-H2 to support multiplex
This task is inside my head for a really long time. I had an attempt at some point to implement it, but I didn't had ... Alexandru Lungu
09:06 AM Feature #7459 (WIP): Implement BucketIndex in FWD-H2 to support multiplex
Alexandru Lungu
07:40 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
You can also try combinations like this, when using characters and octal representation:... Constantin Asofiei
07:35 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Dănuț Filimon wrote:
> Constantin Asofiei:
> > If you are trying to find the binary representation of different dat...
Constantin Asofiei
07:34 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Constantin Asofiei:
> If you are trying to find the binary representation of different data types, take a look @Call...
Dănuț Filimon
07:23 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Constantin Asofiei wrote:
> As a side note, this @converTo@ method has some assumptions for i.e. int64 when the OUTP...
Constantin Asofiei
07:20 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Danut, I think 4GL just reads the first two bytes from the memory address where this value is stored (as max extent s... Constantin Asofiei
07:19 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
*Committed 7059a/rev.14633*. I added deference operators to handle @character/longchar/logical/date@ types, I did not... Dănuț Filimon
06:05 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Here's a decimal overview of the formulas used in each situation:
|_. Action |_. Decimal value type ...
Dănuț Filimon
04:45 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Some related questions:
* empty character results in extent 0?
* negative decimal is any different? I guess that @+...
Alexandru Lungu
04:41 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
Danut, comparing to other 4GL data type, @decimal@ seems to have two values stored: @value@ and @scale@. You issue ma... Alexandru Lungu
03:13 AM Feature #7320 (WIP): Extend H2 tester from Hotel GUI
Stefan, please commit your extension to Hotel GUI.
AFAIK, you developed exclusively in 4GL for this task. Move you...
Alexandru Lungu

06/21/2023

08:27 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
I added the first change, and I will start working/testing the second change.
Committed to 7404a revision 14629.
Ștefan Roman
06:10 AM Feature #7404 (WIP): Trasform replace-mode into append-mode when target table is empty
My profiling still shows slow code here - even slower than before with +1.3%. In fact, this is because of the followi... Alexandru Lungu
05:37 AM Bug #7059: FWD shouldn't raise errors for non-numeric extent indexes.
I've investigated the issue and found the following:
* for characters, the index is calculated using @(second char <...
Dănuț Filimon
01:53 AM Bug #7449 (Test): unqualified _File buffer must target the first database in the connection list
Branch 7449a was merged to trunk rev 14632 and archived. Constantin Asofiei

06/20/2023

03:51 PM Bug #7449: unqualified _File buffer must target the first database in the connection list
You can rebase and merge to trunk. Greg Shah
03:50 PM Bug #7449: unqualified _File buffer must target the first database in the connection list
Code Review Task Branch 7449a Revision 14631
No objections.
Greg Shah
09:16 AM Bug #7452: Analyze memory of the value cache from FWD-H2 and eventually increase size
> AFAIK, there are way more case-insensitive values than case-sensitive ones in customer applications.
Very true.
Greg Shah
06:06 AM Bug #7452: Analyze memory of the value cache from FWD-H2 and eventually increase size
This is a statistic on the value cache hit ratio depending on the cache size.
|_. Size |_. Hit |_. Miss |_. Rat...
Alexandru Lungu
04:14 AM Bug #7452 (WIP): Analyze memory of the value cache from FWD-H2 and eventually increase size
FWD-H2 has a @Value.softCache@ that stores the values used by H2. Every bit of information stored by H2 is wrapped by... Alexandru Lungu
03:59 AM Bug #7452 (WIP): Analyze memory of the value cache from FWD-H2 and eventually increase size
Alexandru Lungu
08:24 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Makes sense. However, I still feel there is some valuable logic behind @DatabaseStatistics@ that can be reused. Not n... Alexandru Lungu
07:42 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Ovidiu Maxiniuc wrote:
> the normal way of shutting down the server (and collect the database statistics) is to 'ask...
Radu Apetrii
01:36 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Ovidiu Maxiniuc wrote:
> The SIGINT (CTRL+C) is the alternative 'hard' way.
This may be an amateur question on my...
Alexandru Lungu
10:35 PM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
the normal way of shutting down the server (and collect the database statistics) is to 'asked' it nicely, using the @... Ovidiu Maxiniuc
06:10 AM Bug #7454: Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
This task is related to @setString@ parameter setting in FWD-H2. Most of the strings we are using with this option ar... Alexandru Lungu
06:07 AM Bug #7454 (Closed): Make ValueStringIgnoreCase the default generated value for setString in FWD-H2
Alexandru Lungu
04:27 AM Bug #7412: PresortQuery ORDER BY has to many clauses
I added all the changes.
Committed to 7026e revision 14604.
Ștefan Roman
02:42 AM Bug #7412: PresortQuery ORDER BY has to many clauses
*Review of 7026e, revision 14603*
* We can go the extra mile here for performance sake
** let @recIdsSet@ be @nul...
Alexandru Lungu
03:58 AM Feature #7363 (Test): Improve H2 Value caching, hashing and equals
Completely *tested* - everything looks right.
I tested a large customer application and I got:
* 425.568 cache hi...
Alexandru Lungu
02:20 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
I added the changes and committed again on 7404a revision 14628. Ștefan Roman
02:07 AM Feature #7404 (Review): Trasform replace-mode into append-mode when target table is empty
*Review of 7404a revision 14626*
* I am OK with the functional changes.
* Please add a comment before the fast-co...
Alexandru Lungu

06/19/2023

01:55 PM Bug #7449 (Review): unqualified _File buffer must target the first database in the connection list
Created task branch 7449a from trunk rev 14630.
The changes are in 7449a rev 14631.
Constantin Asofiei
01:44 PM Bug #7449: unqualified _File buffer must target the first database in the connection list
The assumptions in note #6129-28 and others, where it was found that the last connected database is used I think are ... Constantin Asofiei
11:33 AM Bug #7449: unqualified _File buffer must target the first database in the connection list
In OpenEdge, when running from command line, like this:... Constantin Asofiei
11:26 AM Bug #7449 (Test): unqualified _File buffer must target the first database in the connection list
Constantin Asofiei
09:40 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Alexandru Lungu wrote:
> @DatabaseStatistics@ is a good solution for query profiling on the FWD part.
I started to ...
Radu Apetrii
09:13 AM Feature #7363 (Review): Improve H2 Value caching, hashing and equals
*Review of 7363b_h2 revision 23*
I am OK with the changes.
Most of the testing doesn't show regressions. I am doi...
Alexandru Lungu
06:01 AM Feature #7363: Improve H2 Value caching, hashing and equals
Added the change and committed it to 7363b_h2 revision 23. Ștefan Roman
05:51 AM Feature #7363: Improve H2 Value caching, hashing and equals
*Review of 7363b_h2 revision 22*
* @ValueBytes@ is not using @instanceof@ to check @obj@ of type @byte[]@. *This i...
Alexandru Lungu
09:11 AM Bug #7448: Optimize FWD-H2 ValueTimestampTimeZone and maybe avoid caching
From #7363-19:... Alexandru Lungu
09:09 AM Bug #7448 (Rejected): Optimize FWD-H2 ValueTimestampTimeZone and maybe avoid caching
Alexandru Lungu
09:10 AM Feature #4516: testing and completion of runtime compatibility for table/table-handle/dataset/dat...
Greg Shah wrote:
> > Marian: What work is needed to complete these tests? What is the status of the existing tests ...
Marian Edu
08:18 AM Feature #7323: Implement soft unique index in FWD-H2
I've applied the changes suggested in #7323-12 for both 7323a and 7323a_h2.
I've also added tests in 7323a_h2 and fi...
Radu Apetrii
06:57 AM Feature #7447: Compare ValueString and ValueStringIgnoreCase faster in FWD-H2
There are several hits of @Value.compareTo@, where the operands are @ValueString@ and @ValueStringIgnoreCase@. This i... Alexandru Lungu
06:46 AM Feature #7447 (Closed): Compare ValueString and ValueStringIgnoreCase faster in FWD-H2
Alexandru Lungu
05:04 AM Bug #7420: Optimize Cursor for scrolling AdaptiveQuery
I retested the customer application using @MethodTraceAspect@ instead of @AdaptiveQueryTraceAspect@ and *8031* calls ... Dănuț Filimon
04:49 AM Bug #7059 (WIP): FWD shouldn't raise errors for non-numeric extent indexes.
Alexandru Lungu

06/16/2023

09:12 AM Feature #4516: testing and completion of runtime compatibility for table/table-handle/dataset/dat...
> Marian: What work is needed to complete these tests? What is the status of the existing tests for table/table-hand... Greg Shah
04:17 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Committed 7416a to trunk as rev. 14626. Alexandru Lungu
04:08 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
I have a potential fix for the remaining issues of the @TestWriteXmlFile.cls@, but are probably wrong:
- @BaseDataTy...
Maciej Zieniuk

06/15/2023

04:49 PM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Code Review Task Branch 7416a Revision 14626
No objections. You can merge to trunk.
Greg Shah
10:40 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Greg Shah wrote:
> > Add a sensible flag to the configuration.
>
> Please use @sensitive@ instead of @sensible@.
...
Alexandru Lungu
10:08 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
This sounds good to me. There are cases in which a query from a stack trace is basically a dynamic query. Therefore, ... Alexandru Lungu
09:54 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
I've done two more changes that can be found on 7416a, rev. 14633:
* I've increased the number of characters printed...
Radu Apetrii
07:44 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Greg Shah wrote:
> > Add a sensible flag to the configuration.
>
> Please use @sensitive@ instead of @sensible@.
...
Radu Apetrii
07:34 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
> Add a sensible flag to the configuration.
Please use @sensitive@ instead of @sensible@.
Greg Shah
07:29 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Alexandru Lungu wrote:
> Add a @sensible@ flag to the configuration. If this is set, output only: @sql.substring(0, ...
Radu Apetrii
04:46 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Radu Apetrii wrote:
> If any ideas come to my mind, I will post updates.
I think we can adopt a naive way of cens...
Alexandru Lungu
04:41 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Radu, please make sure you don't miss out the dirty databases as part of the SQL logging / query logging. I think the... Alexandru Lungu
04:21 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools

Alexandru Lungu wrote:
> 1. For H2, we always proxy the statements through @TempTableDataSourceProvider@, so all...
Radu Apetrii
11:24 AM Bug #7412: PresortQuery ORDER BY has to many clauses
Committed to 7026e, revision 14603. Ștefan Roman
10:44 AM Bug #7420: Optimize Cursor for scrolling AdaptiveQuery
I wonder if our LTW is spoiled somehow by the GC. I mean, for a simple @setScrolling@, it is hard to believe that 750... Alexandru Lungu
09:52 AM Bug #7420: Optimize Cursor for scrolling AdaptiveQuery
I tested a customer application using @AdaptiveQueryTraceAspect@. My results for @setScrolling@ were ~5.5k calls with... Dănuț Filimon
07:57 AM Bug #7420: Optimize Cursor for scrolling AdaptiveQuery
Danut, can you take a look into this one?
It is quite bad that @AdaptiveQuery.setScrolling()@ works that slow. Ple...
Alexandru Lungu
07:48 AM Bug #7421: Check only the indexes that were changed when using Validation.checkMaxIndexSize
I created a test using a temporary table with 50 fields, all being part of unique/non unique indexes. It consisted of... Dănuț Filimon
05:18 AM Bug #7421: Check only the indexes that were changed when using Validation.checkMaxIndexSize
Eric Faulhaber wrote:
> @BaseRecord.getDirtyIndices@ already is invoked in several places in @Validation@. Can we re...
Dănuț Filimon
05:29 AM Feature #7365: Avoid using reflection in generating BDT
I added in @BaseDataTypeFactory@ a function @instantiate@ that also takes as a parameter the initial value that is to... Radu Apetrii
03:03 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
Greg Shah wrote:
> Marian: Any idea why this reports as unserializable when the class itself is marked serializable?...
Marian Edu

06/14/2023

02:44 PM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
@progress.lang.object@ fields are not serializable. This test:... Constantin Asofiei
02:21 PM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
> I have problems understanding the other failures in the @TestWriteXmlFile.cls@ method @writeFileInvalid@.
> This p...
Greg Shah
09:33 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
I have problems understanding the other failures in the @TestWriteXmlFile.cls@ method @writeFileInvalid@.
This porti...
Maciej Zieniuk
10:11 AM Feature #7363: Improve H2 Value caching, hashing and equals
I added the changes.
Committed to 7363b_h2 revision 22.
Ștefan Roman
08:02 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Fixed an error and committed again on 7404a revision 14627. Ștefan Roman
05:48 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Committed to 7404a revision 14626. Ștefan Roman
04:43 AM Feature #7404: Trasform replace-mode into append-mode when target table is empty
Created 7404a. Alexandru Lungu
04:52 AM Bug #7412: PresortQuery ORDER BY has to many clauses
The clause is added firstly at initialization which is correct since there can be multiple clauses that may need to b... Dănuț Filimon
04:24 AM Bug #7412: PresortQuery ORDER BY has to many clauses
-Danut, please prioritize this if you think it can be fixed by the end of this week. From my POV, there shouldn't be ... Alexandru Lungu
04:42 AM Bug #7403 (WIP): Copy-temp-table with replace-mode should replace already inserted records
Alexandru Lungu
04:36 AM Feature #7365: Avoid using reflection in generating BDT
Radu, if it doesn't take much time, please do a quick round-check of this issue and try to get this change in 7026e b... Alexandru Lungu

06/13/2023

01:04 PM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
Having this:... Constantin Asofiei
11:16 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
I have implemented the changes, under rev 14621 on 4514a branch. There are still some other errors that the @TestWrit... Maciej Zieniuk
07:49 AM Bug #7421 (WIP): Check only the indexes that were changed when using Validation.checkMaxIndexSize
Alexandru Lungu
07:17 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Created 7416a. Alexandru Lungu
06:07 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
I have two ideas here:
1. For H2, we always proxy the statements through @TempTableDataSourceProvider@, so all sta...
Alexandru Lungu
06:31 AM Bug #7388: Create server configuration container for cache sizes
*Committed 7388a.rev14619.* Added @CacheManager@ that reads the configuration cache sizes of classes and can be used ... Dănuț Filimon
06:14 AM Feature #7323: Implement soft unique index in FWD-H2
Radu, please focus on this after you finish the recent performance logging changes. I will like to give it a performa... Alexandru Lungu
03:13 AM Feature #7363: Improve H2 Value caching, hashing and equals
*Review of 7363b_h2 revision 21*
* @ValueByte.lowLevelEquals@ should use @((Byte) obj).byteValue()@ to stay consis...
Alexandru Lungu

06/12/2023

11:34 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
Good.
Maciej: Please move ahead on this basis.
Greg Shah
11:27 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
Greg Shah wrote:
> Rather than processing the error manager logging on the client, why not add the needed handling t...
Constantin Asofiei
11:03 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
Rather than processing the error manager logging on the client, why not add the needed handling to @DeferredLegacyErr... Greg Shah
10:56 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
@DeferredLegacyErrorException@ is missing the case for when is thrown from the FWD client. Originally this was meant... Constantin Asofiei
10:36 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
We already catch @DeferredLegacyErrorException@ in @BlockManager.processBody()@ and we call @BlockManager.processLega... Greg Shah
10:25 AM Feature #4514: run ProDataSet test suite in FWD and resolve any issues such that it works the sam...
I am not exactly sure how to handle the @DeferredLegacyErrorException@ exception, when the client throws @302@ or @46... Maciej Zieniuk
10:17 AM Feature #7363: Improve H2 Value caching, hashing and equals
I added the changes.
Commited to 7363b_h2 revision 21.
Ștefan Roman
05:39 AM Feature #7363: Improve H2 Value caching, hashing and equals
*Review of 7363b_h2 revision 20.*
* Use space after @if@ keyword to separate from @(@ (according to H2 standard)
...
Alexandru Lungu
09:57 AM Bug #7389 (Review): Make fast-copy statements cachable
This is good. I am extracting your changes and add them to my profiling branch. I am curious of the improvement. Howe... Alexandru Lungu
09:53 AM Bug #7389: Make fast-copy statements cachable
Here is an update of the test from #7389-3:
|_. Type |_. Total |_. No append or loose mode |_. Append m...
Dănuț Filimon
08:53 AM Bug #7389: Make fast-copy statements cachable
*Committed 7389a.rev14594.* Fixed the problem mentioned in #7389-6. It was caused by missing records that were not co... Dănuț Filimon
06:03 AM Bug #7389: Make fast-copy statements cachable
*Review of 7389a.rev14593*
* I am OK with the changes.
* Please also consider @srcRecId@ when ruling our pk mapp...
Alexandru Lungu
09:41 AM Feature #6371 (Test): implement SAVE CACHE statement
Greg Shah
07:45 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Alexandru Lungu wrote:
> * *Ensure that no sensible data is logged (query parameters) in neither profiler*
I have b...
Radu Apetrii
04:38 AM Feature #7416: Reiterate DatabaseStatistics and leverage to other database profling tools
Radu, please make the documentation of #6970 sql profiler and #7416 query profiler (leveraging @DatabaseStatistics@) ... Alexandru Lungu
03:13 AM Bug #7388: Create server configuration container for cache sizes
Eric Faulhaber wrote:
> That being said, my experience with using @SoftReference@ is from several JVM generations ag...
Alexandru Lungu
 

Also available in: Atom