Project

General

Profile

Activity

From 04/26/2026 to 05/25/2026

05/26/2026

08:11 PM Feature #4369: implement stateless FWD server clustering
+Review of 4369a / r16611 (with focus on persistence)+
This is a huge changeset. I focused on persistence mainly, ...
Ovidiu Maxiniuc

05/25/2026

04:43 AM Bug #7667 (Pending): Support OUTER-JOIN with PRESELECT at conversion
This is being implemented in #11470. Alexandru Lungu
02:16 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> > -chui regression testing (had to eliminate spring-beans-5.3.20.jar, spring-core-5.3.20...
Eduard Soltan
01:51 AM Bug #11288: Check if c3p0 is required for in-memory databases
Eric,
I don't expect performance in a customer application to be affected in a measurable way, this change was more ...
Artur Școlnic

05/22/2026

12:55 PM Bug #11288: Check if c3p0 is required for in-memory databases
What practical performance testing can we do with and without this update? Eric Faulhaber
06:12 AM Bug #11288 (Test): Check if c3p0 is required for in-memory databases
11288d was merged to trunk/16577. Artur Școlnic
06:03 AM Bug #11288 (Merge Pending): Check if c3p0 is required for in-memory databases
Please merge -10827b- 11288d now. Constantin Asofiei
05:56 AM Bug #11288: Check if c3p0 is required for in-memory databases
Thank you, Razvan.
Constantin, please put 11288d in the merge queue when you can.
Artur Școlnic
04:32 AM Bug #11288: Check if c3p0 is required for in-memory databases
Smoke-testing 11288d on a customer app passed. Razvan-Nicolae Chichirau
09:11 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> > - etf (on spring project that connects to the server had to change to p2j, because I h...
Eduard Soltan
09:04 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> I regression tested the changes on:
>
> -chui regression testing (had to eliminate spring-...
Constantin Asofiei
08:54 AM Feature #4369: implement stateless FWD server clustering
I regression tested the changes on:
-chui regression testing (had to eliminate spring-beans-5.3.20.jar, spring-cor...
Eduard Soltan

05/20/2026

11:51 AM Feature #11481: Create a tool for extracting the 4GL/SQL name mapping
> Yes, we need a tool which gets the .p2o files and emits a file for each schema and dialect. This tool can then look... Ovidiu Maxiniuc
11:06 AM Feature #11481: Create a tool for extracting the 4GL/SQL name mapping
Ovidiu Maxiniuc wrote:
> ** alternatively, we can write a tool for extracting this information later, from existing ...
Constantin Asofiei
10:58 AM Feature #11481: Create a tool for extracting the 4GL/SQL name mapping
Currently the [[p2j:Conversion Handbook]] and [[p2j:Conversion Reference]] describe how the identifiers for databases... Ovidiu Maxiniuc
10:20 AM Feature #11481 (New): Create a tool for extracting the 4GL/SQL name mapping
Ovidiu Maxiniuc
09:39 AM Bug #10962: Optimized multi-table compound components are not invalidated
To simplify the process, I plugged in the 10962a branch through an AI reviewer. I am assessing this now ATM.
* *[M...
Alexandru Lungu
07:45 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> Eduard Soltan wrote:
> > Committed on 4369a, rev. 16608. Multiple code fixup, that appe...
Eduard Soltan
07:19 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> Committed on 4369a, rev. 16608. Multiple code fixup, that appeared during application debug.
...
Constantin Asofiei
06:40 AM Bug #11288 (Internal Test): Check if c3p0 is required for in-memory databases
+Review of 11288d, r16571+
I see no problems in code logic. The following are just small issues to be addresses be...
Ovidiu Maxiniuc
05:26 AM Bug #11288 (Review): Check if c3p0 is required for in-memory databases
I committed the changes from the a and b branch to 11288d. Tested two customer projects, saw no regressions.
Ovidiu,...
Artur Școlnic
02:30 AM Bug #11288: Check if c3p0 is required for in-memory databases
To further prove that the blobs are connection bound, I set @setMaxConnectionAge@ to 1 second (close connection after... Artur Școlnic

05/19/2026

02:04 PM Feature #4369: implement stateless FWD server clustering
Committed on 4369a, rev. 16608. Multiple code fixup, that appeared during application debug. Eduard Soltan
10:15 AM Bug #11288: Check if c3p0 is required for in-memory databases
Artur Școlnic wrote:
> @setBytes@ solves the @JdbcSQLNonTransientException@, but not the record not being found, I n...
Artur Școlnic
09:47 AM Bug #11288: Check if c3p0 is required for in-memory databases
The test case from #11288-40 is also failing with trunk, the find fails, I think the record is not persisted properly... Artur Școlnic
06:06 AM Bug #11288: Check if c3p0 is required for in-memory databases
The test case without connection pooling is:... Artur Școlnic

05/18/2026

03:52 AM Feature #4369: implement stateless FWD server clustering
Rebased to trunk 16570. Eduard Soltan
03:31 AM Feature #4369: implement stateless FWD server clustering
Eduard, please rebase 4369a. Constantin Asofiei
02:16 AM Feature #4369 (Review): implement stateless FWD server clustering
Committed on *4369a, rev. 16552.*
Support for Redis directory and lockManager backend (for directory/database). *P...
Eduard Soltan

05/14/2026

02:10 PM Feature #4369: implement stateless FWD server clustering
Committed on *4369a, rev. 16549*.
Added directory versioning. Improved support temp user creation.
General code c...
Eduard Soltan
08:52 AM Feature #4369: implement stateless FWD server clustering
I think we need to add an incrementing 64-bit integer revision number to the directory. This can be used to detect i... Greg Shah
06:11 AM Feature #4369: implement stateless FWD server clustering
Committed on *4369a, rev. 16544*.
This implements the RedisSynchronizer, a thread that listen for redis updates us...
Eduard Soltan
06:40 AM Bug #10962 (Review): Optimized multi-table compound components are not invalidated
Finally completed in 10962a/16509.
The single most painful instability from #10962-12 sounded like:
* scroll a ...
Alexandru Lungu
04:00 AM Bug #11288: Check if c3p0 is required for in-memory databases
I need to use 11288a again and find the recreate based on the failing unit test in the customer application. At this ... Artur Școlnic
02:31 AM Feature #11467: Improve ImportWorker performance
Constantin Asofiei wrote:
> The main issues we need to solve are:
> * use bulk-copy if there is no word-index for t...
Teodor Gorghe

05/13/2026

03:57 PM Bug #11288: Check if c3p0 is required for in-memory databases
Ovidiu Maxiniuc wrote:
> Artur Școlnic wrote:
> > With c3p0, this worked by accident because @connection.close()@ d...
Eric Faulhaber
01:50 PM Feature #11467: Improve ImportWorker performance
The main issues we need to solve are:
* use bulk-copy if there is no word-index for the current table, but the diale...
Constantin Asofiei
10:51 AM Feature #11467: Improve ImportWorker performance
Created task branch *11467a* and added an initial implementation as revision *16562*.
Please note that it is unfinis...
Teodor Gorghe
09:10 AM Feature #11467: Improve ImportWorker performance
@ImportWorker@ is responsible for creating the schema from database, creating the indexes, copy the data from the pro... Teodor Gorghe
08:54 AM Feature #11467 (Internal Test): Improve ImportWorker performance
Teodor Gorghe
03:28 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
>
> We also need to discuss if there would be some kind of active/active replica also there so th...
Eduard Soltan

05/12/2026

05:26 PM Feature #4369: implement stateless FWD server clustering
>> In case of maintenance, you can:
>>
>> * stop a single node, and you are sure its directory is the latest one
>...
Greg Shah
05:24 PM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> I would go with 'some other approach' to not get too complicated when maintaining a live...
Greg Shah
09:50 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> I would go with 'some other approach' to not get too complicated when maintaining a live...
Eduard Soltan
09:09 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> Committed on 4369a, rev. 16539. Keep the temp users in memory , and imporved support for Nati...
Constantin Asofiei
04:24 AM Feature #4369: implement stateless FWD server clustering
Committed on 4369a, rev. 16539. Keep the temp users in memory , and imporved support for NativeSecureConnection. Crea... Eduard Soltan

05/11/2026

09:43 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> Don't spawner work only with temp users now. @ClientSpwner.spawn@ calls @TemporaryAccount.ope...
Constantin Asofiei
09:42 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> Greg, our current approach for the 'temp users' to authenticate @NativeSecureConnection@...
Eduard Soltan
03:41 AM Feature #4369: implement stateless FWD server clustering
Greg, our current approach for the 'temp users' to authenticate @NativeSecureConnection@ calls can be improved:
* cu...
Constantin Asofiei
02:29 AM Feature #4369: implement stateless FWD server clustering
This are DirectoryService (RedisRemapper) recorded calls in order to create just one temp client (please notices that... Eduard Soltan

05/08/2026

03:47 PM Feature #4369: implement stateless FWD server clustering
I have been testing the changes on cust001.
I observed a pretty slow initialization at startup because of the foll...
Eduard Soltan
02:08 PM Feature #4369: implement stateless FWD server clustering
I would go with 'some other approach' to not get too complicated when maintaining a live system. Each FWD node is re... Constantin Asofiei
12:14 PM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> Yes, but should it work that way? And we certainly would need to have an auto-export as well or ...
Eduard Soltan
09:41 AM Feature #4369: implement stateless FWD server clustering
Yes, but should it work that way? And we certainly would need to have an auto-export as well or the changes would be... Greg Shah
09:33 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> * Do we provide an import/export process while the directory itself is stored in some Redis-nat...
Eduard Soltan
09:27 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
>
> Are you talking about the database locking here?
No, it is about @com.goldencode.p2j.direc...
Eduard Soltan
09:24 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> Eduard Soltan wrote:
> >
> > Added @RedisLockManager.java@
> >
> > This is a implementa...
Greg Shah
09:23 AM Feature #4369: implement stateless FWD server clustering
A clustered environment should have a single directory that contains the configuration for all servers. That directo... Greg Shah
06:12 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
>
> Added @RedisLockManager.java@
>
> This is a implementation of @LockManager@, which I c...
Eduard Soltan
03:00 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> Constantin Asofiei wrote:
> > I think there's more just about having it persistent in redis....
Constantin Asofiei
02:49 AM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> I think there's more just about having it persistent in redis. Lets assume a maintenanc...
Eduard Soltan
07:26 AM Feature #6720: lazy hydration
> Make CAN-FIND fast and stateless. Disconnect it from the rest of the stateful persistence framework.
We can do t...
Alexandru Lungu
06:53 AM Feature #6720: lazy hydration
> On FWD server, the memory has decreased, but we keep these result set open which makes PSQL to store result copy on... Alexandru Lungu

05/07/2026

02:23 PM Feature #4369: implement stateless FWD server clustering
I think there's more just about having it persistent in redis. Lets assume a maintenance window where the entire clu... Constantin Asofiei
01:54 PM Feature #4369: implement stateless FWD server clustering
Constantin Asofiei wrote:
> Greg, about persisting the changes to disk: what is the approach here? I would think th...
Eduard Soltan
12:42 PM Feature #4369: implement stateless FWD server clustering
Greg, about persisting the changes to disk: what is the approach here? I would think that a node gets a signal from ... Constantin Asofiei
12:22 PM Feature #4369: implement stateless FWD server clustering
Committed *4369a, rev. 16534*.
Added @RedisRemapper.java@
This class implements the @Remapper.java@ interface. ...
Eduard Soltan
08:46 AM Feature #6720: lazy hydration
*Alexandru*, I have analyzed the server-side memory consumption and the system memory consumption.
I see a about the...
Teodor Gorghe
08:42 AM Feature #6720: lazy hydration
This is the patch which fixes the issue.
*CAN-FIND* was already fixed in #10275, but this is still required for DMOs...
Teodor Gorghe
06:27 AM Feature #6720: lazy hydration
> Why would we ever hydrate or store state for a CAN-FIND? It should not affect any buffers (that are explicitly refe... Greg Shah
05:40 AM Feature #6720: lazy hydration
About @BaseRecord.areAllPropertiesLive@, it seems like there is a slight issue.
We have the following test case:
<p...
Teodor Gorghe
05:06 AM Feature #6720: lazy hydration
> The point is that the INCOMPLETE state from CAN-FIND propagates through that FIND item NO-LOCK. and makes it to fai... Alexandru Lungu
08:15 AM Bug #11451: Create unit tests for ArgumentBuffer
This is a task about having more coverage for ArgumentBuffer class - responsible for passing buffers as parameters (i... Alexandru Lungu
08:14 AM Bug #11451 (New): Create unit tests for ArgumentBuffer
Alexandru Lungu

05/06/2026

10:53 AM Feature #6720: lazy hydration
Greg Shah wrote:
> Why would we ever hydrate or store state for a @CAN-FIND@? It should not affect any buffers (tha...
Teodor Gorghe
10:47 AM Feature #6720: lazy hydration
Why would we ever hydrate or store state for a @CAN-FIND@? It should not affect any buffers (that are explicitly ref... Greg Shah
10:42 AM Feature #6720: lazy hydration
*Alexandru*, what do you think we should do in this scenario:... Teodor Gorghe
06:51 AM Feature #4369: implement stateless FWD server clustering
There is something that Constantin mentioned in the last stand up.
Initially, I load the data to Redis by parsing ...
Eduard Soltan

05/04/2026

11:20 AM Feature #4369: implement stateless FWD server clustering
Eduard Soltan wrote:
> *Question* why does @values@ in @Attribute@ class is an Vector? Shouldn't it be just a simple...
Constantin Asofiei
11:17 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> Yes, we need to implement the directory solution now.
>
> I'm OK in principle with a redis bas...
Eduard Soltan
07:35 AM Feature #4369: implement stateless FWD server clustering
Yes, we need to implement the directory solution now.
I'm OK in principle with a redis based backend. I assume tha...
Greg Shah
02:38 AM Feature #4369: implement stateless FWD server clustering
About the need to synchronize directory changes, I think we need to implement a centralized directory back-end now (p... Eduard Soltan
02:28 AM Feature #4369: implement stateless FWD server clustering
I little bit about my work on implementation of stateless clustering:
- During some experiments I determined that ...
Eduard Soltan
09:17 AM Bug #10962: Optimized multi-table compound components are not invalidated
Made an update on 10962a/rev. 16542:
* Stabilized 10962a. The biggest issue was the lack of support of indexed-rep...
Alexandru Lungu
06:18 AM Bug #11015 (Closed): allow cleanup the DMO types, caches, etc for dynamic temp-tables
Constantin Asofiei
06:17 AM Bug #11015: allow cleanup the DMO types, caches, etc for dynamic temp-tables
Branch 11015b was merged to trunk rev 16546 and archived. Constantin Asofiei
06:11 AM Bug #11015 (Merge Pending): allow cleanup the DMO types, caches, etc for dynamic temp-tables
I've been testing this and is OK. I'm merging 11015b now. Constantin Asofiei

04/30/2026

10:04 AM Bug #10962: Optimized multi-table compound components are not invalidated
Made an update on 10962a/rev. 16541:
* Fixed the blurred line between @storeReferenceRow@ and @overrideReferenceRo...
Alexandru Lungu
08:12 AM Feature #6720: lazy hydration
Testcase where the @Session.associate@ error appears (@item@ table has at least one record):... Teodor Gorghe

04/29/2026

09:03 AM Bug #10962: Optimized multi-table compound components are not invalidated
Made an update on 10962a/rev. 16540:
* Removed dynamicPreproc and dynamicArgs from AdaptiveComponent. In fact, the...
Alexandru Lungu
07:56 AM Feature #4369: implement stateless FWD server clustering
As mentioned on the call this morning, I think that in a clustered environment we need a centralized directory. My i... Greg Shah
07:14 AM Feature #4369: implement stateless FWD server clustering
Some other notes:
* we need to check all nodes use the same JDBC configurations (URL, passwords, etc), for landlord ...
Constantin Asofiei
06:43 AM Feature #4369: implement stateless FWD server clustering
A little update on running a stateless cluster on a customer application.
This stack trace shows a heavy lock con...
Eduard Soltan

04/27/2026

05:03 AM Bug #11413 (WIP): Investigate CQ optimization for preselect component with dynamic component
Refer to #11397-7:
* construct a for each block with a CQ that has a preselect component and dynamic component (RA...
Alexandru Lungu
05:00 AM Bug #11413 (WIP): Investigate CQ optimization for preselect component with dynamic component
Alexandru Lungu
 

Also available in: Atom