Project

General

Profile

Activity

From 10/30/2025 to 11/28/2025

11/28/2025

10:10 AM Feature #4369: implement stateless FWD server clustering
I have been lately focused on implementing refactoring the @LockStatus/TraceLockStatus@ classes in order to be able t... Andrei Plugaru
09:29 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> Tomasz Domin wrote:
> > I fully agree, I was just wondering if I can help with tooling modif...
Tomasz Domin
08:35 AM Support #10664: Develop a multi session test suite in harness
Tomasz Domin wrote:
> I fully agree, I was just wondering if I can help with tooling modification.
Since you brou...
Artur Școlnic
08:27 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> We know there are failures, hence the skewed results, we simply need to work on the issues an...
Tomasz Domin
08:26 AM Support #10664: Develop a multi session test suite in harness
We know there are failures, hence the skewed results, we simply need to work on the issues and bring the success rate... Artur Școlnic
08:18 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> I finished writing the locking tests, the results are:
> OE: 1610/1610
> FWD: 411/1610
>...
Tomasz Domin
05:19 AM Support #10664 (Review): Develop a multi session test suite in harness
I finished writing the locking tests, the results are:
OE: 1610/1610
FWD: 411/1610
There are two main reasons wh...
Artur Școlnic
03:47 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Committed revision *16298* on task branch *10455b*:
- Set the batch mode validation to false when it is in bulk copy.
Teodor Gorghe
01:49 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Committed revision *16297* on task branch *10455b*:
- Changed reportBatchValidationException to throw the error.
Teodor Gorghe
01:43 AM Bug #10455: Persistent table CAN-FIND FIRST issue
I am thinking on something else:
* when the assigned buffer is the destination buffer, or something else, a variable...
Teodor Gorghe
01:05 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Constantin Asofiei wrote:
> Also, does the original test scenario still work?
Yes, they still work, I have tested...
Teodor Gorghe

11/27/2025

12:09 PM Bug #10455: Persistent table CAN-FIND FIRST issue
For show vs throwError I think there are two cases:
* if validation fails and LVALUE is the buffer (or field?) which...
Constantin Asofiei
10:50 AM Bug #10455 (Review): Persistent table CAN-FIND FIRST issue
Committed revision *16296* on task branch *10455b*:
- Fixed BUFFER-COPY BATCH ASSIGN when a function call is the fir...
Teodor Gorghe
09:50 AM Bug #10455: Persistent table CAN-FIND FIRST issue
I have also tried this:... Teodor Gorghe
09:38 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Hm... you are right, this works. But, how can we differentiate that we are in an assignment for a target buffer fiel... Constantin Asofiei
09:33 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Please try this:... Teodor Gorghe
09:29 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Note that @ErrorManager.recordOrThrowError(newErrorCodes, newErrorMessages, false);@ is called in @RecordBuffer.repor... Constantin Asofiei
09:26 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Teodor, please check with 12.x this test:... Constantin Asofiei
09:01 AM Bug #10455: Persistent table CAN-FIND FIRST issue
Created task branch *10455b*. Teodor Gorghe
09:00 AM Bug #10455 (WIP): Persistent table CAN-FIND FIRST issue
There is a regression regarding this task.
When the @BUFFER-COPY ASSIGN@ on a buffer on the same table with unique f...
Teodor Gorghe
08:08 AM Bug #6834 (Closed): RAQ navigation on records having NULL values on same index components
Dănuț Filimon
08:06 AM Bug #6834: RAQ navigation on records having NULL values on same index components
Cool. Then this can be closed. Ovidiu Maxiniuc
06:25 AM Bug #6834: RAQ navigation on records having NULL values on same index components
This has been fixed in a revision before trunk/16000.
The FWD output of the #6834-3 test is:...
Dănuț Filimon
05:20 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
> We can TRUNCATE only if there are separate SQL tables, and we get rid of the MULTIPLEX. Otherwise, we need DELETE .... Alexandru Lungu
05:05 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Alexandru Lungu wrote:
> Mind that this does TRUNCATE AFAIK.
We can TRUNCATE only if there are separate SQL tables,...
Constantin Asofiei
04:51 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
> Otherwise, if it proves too difficult to solve/investigate the destructor conundrums, lets work on enhancing the UP... Alexandru Lungu
04:41 AM Feature #9711: collation configuration cleanup
Stefanel Pezamosca wrote:
> If I understand correctly, the goal here is to to eliminate the need for manual configur...
Alexandru Lungu
03:26 AM Feature #9711: collation configuration cleanup
If I understand correctly, the goal here is to to eliminate the need for manual configuration and hard-coded settings... Stefanel Pezamosca

11/26/2025

02:48 PM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Ovidiu, lets solve the @nonEmptyTableFlags@ issue in this task:
* for NO-UNDO tables, this bitmap will work as is - ...
Constantin Asofiei
08:44 AM Bug #10937 (WIP): fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Ovidiu Maxiniuc
08:23 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Or maybe the destructor is deferred till the end of the transaction and we don't see that. Maybe a message after dele... Alexandru Lungu
08:22 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
> In the temp-table destroy case, the destructor changes are not rolled back.
So you can create things in the pers...
Alexandru Lungu
08:01 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Alexandru Lungu wrote:
> > So, does an UNDO revert any created records by such destructors?
>
> Huh, interesting...
Constantin Asofiei
05:07 AM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
> I don't see another way than add a NO-UNDO option for the DELETE statement in H2, so that we can do DELETEs which a... Alexandru Lungu

11/25/2025

01:35 PM Bug #10937: fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
This is related also to the #10833-80 scenario, where it was proved that @nonEmptyTableFlags@ is broken in case of ro... Constantin Asofiei
01:16 PM Bug #10937 (Test): fwd-h2 'killedMultiplexesCleanup' must not abend if the batch is not empty
Constantin Asofiei
06:23 AM Bug #10901 (Review): BEGINS trims the rvalue if the lvalue field is first in an index
Created 10901a from trunk rev 16292. In rev 16293: If in a BEGINS LVALUE is a field part of the index used for sort,... Constantin Asofiei

11/24/2025

09:58 AM Feature #6348: implement support for MariaDB
It should be a different task, please make one in Deployment. Greg Shah
09:49 AM Feature #6348: implement support for MariaDB
Is it fair to continue use of this task for finishing touches on MariaDB? Some things I am considering:
* We have im...
Roger Borrello
06:28 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
> Is not about a query from FWD, just a direct SELECT I noticed. Yes, RTRIM=TRUE is in the JDBC URL.
Right. The co...
Alexandru Lungu
06:24 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
Is not about a query from FWD, just a direct SELECT I noticed. Yes, @RTRIM=TRUE@ is in the JDBC URL. Constantin Asofiei
04:31 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
PS: I see @dialect.addRtrimmedExpression("?", sb);@. This can be wrapped with @dialect.isAutoRtrim@. Alexandru Lungu
04:30 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
Is @RTRIM=TRUE;@ set? H2 also knows to compare the values of strings with rtrim automatically. Alexandru Lungu
04:15 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
Alex, as a side note: this query does not return records in H2: @select * from meta_user where userid = rtrim('HOTEL'... Constantin Asofiei
03:35 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
I am OK with the changes in #10920-3. This piece of code is a backdoor into the persistence and wasn't handled proper... Alexandru Lungu
03:23 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
This is because of the H2's dialect automatic case-insensitive assumption in @P2JH2Dialect@; I've used a JDBC URL li... Constantin Asofiei

11/23/2025

05:42 AM Bug #10920: String concatenation doesn't work in WHERE clause for permanent databases
I used H2 permanent database. No records are found in FWD.... Stanislav Lomany
05:40 AM Bug #10920 (New): String concatenation doesn't work in WHERE clause for permanent databases
Stanislav Lomany

11/21/2025

09:48 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> The tables we could expect to be used frequently are not the same tables that are editable. @_fi...
Eric Faulhaber
08:09 AM Feature #4369: implement stateless FWD server clustering
The tables we could expect to be used frequently are not the same tables that are editable. @_file@, @_field@, @_ind... Greg Shah
06:09 AM Feature #4369: implement stateless FWD server clustering
I am just writing here a discussion that happened in the daily yesterday.
Back when we tested performance for a la...
Alexandru Lungu

11/20/2025

01:55 PM Feature #4369: implement stateless FWD server clustering
> In the end, it all comes down to the number of queries executed for the metadata tables for the current and future ... Greg Shah
12:52 PM Feature #4369: implement stateless FWD server clustering
Today I have made some experiments for understanding the time taken for inserting a large number of records in a meta... Andrei Plugaru

11/19/2025

02:07 PM Feature #4369: implement stateless FWD server clustering
> Over the solution presented by you, this has the advantage that the tables don't need to be recreated before each q... Greg Shah
01:14 PM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> For the tables that need to represent state that can change at runtime, I am suggesting that the ...
Andrei Plugaru
11:02 AM Feature #4369: implement stateless FWD server clustering
> Greg, just to be clear, do you suggest to give up on the H2 metadata tables all together?
No. There is value i...
Greg Shah
06:52 AM Feature #4369: implement stateless FWD server clustering
Greg Shah wrote:
> I repeat my points of #4369-46 and #4369-54. The existing approach to metadata is overcomplicate...
Andrei Plugaru

11/18/2025

05:36 PM Feature #4369: implement stateless FWD server clustering
I repeat my points of #4369-46 and #4369-54. The existing approach to metadata is overcomplicated and causes unneces... Greg Shah
04:52 PM Feature #4369: implement stateless FWD server clustering
Andrei Plugaru wrote:
> [...]
> IMHO, the versioning approach from @UserTableStatUpdater@ and @LockTableUpdater@ is...
Eric Faulhaber
10:32 AM Feature #4369: implement stateless FWD server clustering
In the last note, I forgot to mentioned the new directory configurations introduced in my latest commits. Right under... Andrei Plugaru
07:42 AM Feature #4369: implement stateless FWD server clustering
I have committed @4369a/16232@. I have completed all the java docs, history entries all the file headers on the new f... Andrei Plugaru
11:34 AM Bug #10901: BEGINS trims the rvalue if the lvalue field is first in an index
Actually things are a little more complicated: what matters is that the field is part of the 4GL index associated wit... Constantin Asofiei
09:52 AM Bug #10901: BEGINS trims the rvalue if the lvalue field is first in an index
This test shows that if a field is part of a leading component, then it will trim the rvalue for @BEGINS@:... Constantin Asofiei
09:45 AM Bug #10901 (Closed): BEGINS trims the rvalue if the lvalue field is first in an index
Constantin Asofiei

11/17/2025

04:30 AM Bug #10890: merge-row-changes does not change the before/after image row-state correctly
Another issue is that after @merge-row-changes@, in OE there are scenarios in which the *before image is not deleted*... Artur Școlnic
04:27 AM Bug #10890: merge-row-changes does not change the before/after image row-state correctly
... Artur Școlnic
04:19 AM Bug #10890 (New): merge-row-changes does not change the before/after image row-state correctly
Artur Școlnic

11/15/2025

08:28 AM Feature #4369: implement stateless FWD server clustering
I have mainly finished all the changes necessary in @InMemoryLockManager@ regarding the @.wait()/.notify()@ construct... Andrei Plugaru

11/14/2025

05:56 AM Feature #9711: collation configuration cleanup
Alex, when talking _meta tables, the nuances you mentioned is a bit more complex.
There is some 'persistent' infor...
Ovidiu Maxiniuc
05:33 AM Feature #9711: collation configuration cleanup
> I think we need a way to allow the H2's default collation and ignore completely the embedded-collation for the _tem... Alexandru Lungu
04:58 AM Feature #9711: collation configuration cleanup
I think we need a way to allow the H2's default collation and ignore completely the @embedded-collation@ for the _tem... Constantin Asofiei

11/13/2025

07:44 AM Bug #10385 (WIP): Incorrect reset of the cursor cache in Reposition
I run a large unit test suite and discovered a NPE in @RepositionCache$Node.getRow@, on @rows.floor(position.intValue... Alexandru Lungu
05:52 AM Feature #4369: implement stateless FWD server clustering
> If the requests are stateless, then they should be able to be distributed across the clustered servers without any ... Alexandru Lungu

11/12/2025

10:56 AM Feature #4369: implement stateless FWD server clustering
> if there are 1k requests at a time and 10 servers, it is completely valid to balance 100 across these 10 servers?
...
Greg Shah
10:54 AM Feature #4369: implement stateless FWD server clustering
I don't think we need the @RemoteLockManager@ if we have proper clustering. Greg Shah
09:15 AM Feature #4369: implement stateless FWD server clustering
> Within single-server mode and cluster mode, the server should still handle multiple requests in parallel? I mean, i... Andrei Plugaru
07:59 AM Feature #4369: implement stateless FWD server clustering
Review of 4369a:
h4. Model
* I spot some changes in the synchronization in general and I want to better underst...
Alexandru Lungu

11/10/2025

08:41 AM Feature #4369: implement stateless FWD server clustering
Queuing it up! Alexandru Lungu
08:33 AM Feature #4369 (Review): implement stateless FWD server clustering
Eric/Alex: Please do this first review. Greg Shah
07:35 AM Bug #10838: Unique index violation should be cured even at flush time
Make a @tbl@ persistent table with unique index of (f1, f2).... Alexandru Lungu
07:32 AM Bug #10838 (New): Unique index violation should be cured even at flush time
Alexandru Lungu

11/07/2025

08:46 AM Bug #9950 (Review): Upgrade the metadata schema to a newer version
Constantin Asofiei
08:34 AM Feature #9305: Replace begins with interval based conditional
Please do the tests requested in #9305-25 in 4GL and PG with LIKE / < and > / with BETWEEN. We need to take a decisio... Alexandru Lungu
07:42 AM Feature #9305: Replace begins with interval based conditional
The range check follows the field collation or is byte-by-byte?
If it is after collation, there are some cases like ...
Teodor Gorghe
07:11 AM Feature #9305: Replace begins with interval based conditional
Teodor Gorghe wrote:
> You told yesterday and in #9305-10 that the default database configuration, with @en_us.UTF...
Eduard Soltan
07:01 AM Bug #7999: FWD does not honor FIELDS/EXCEPT at dynamic queries
When the changes from this task are regression tested, please also include the following scenario mentioned in #10763... Lorian Sandu

11/06/2025

04:55 PM Bug #9950: Upgrade the metadata schema to a newer version
I added backward compatibility with projects that have not upgraded from OE 11.6. By default 11.6 is the default meta... Ovidiu Maxiniuc
10:45 AM Feature #4369 (WIP): implement stateless FWD server clustering
*Update on the current status.*
Up until now, I have synchronized the *tracker for records in unique indices* and th...
Andrei Plugaru
05:36 AM Feature #9305: Replace begins with interval based conditional
Alexandru,
You told yesterday and in #9305-10 that the default database configuration, with @en_us.UTF8@ collation, ...
Teodor Gorghe
04:04 AM Bug #10822: Lock is not acquired if the update field value is the same as the current one
If a no-lock is set on a record it cannot be modified, 4GL does not allow any assignment and raises ... Artur Școlnic
03:58 AM Bug #10822 (New): Lock is not acquired if the update field value is the same as the current one
Artur Școlnic
03:56 AM Support #10664: Develop a multi session test suite in harness
I agree, I will open related tasks for every issue found during testing. Artur Școlnic
03:53 AM Support #10664: Develop a multi session test suite in harness
> Alex/Eric can determine if we do this now or if we do this in a separate task.
IMHO, related tasks should be ope...
Alexandru Lungu
02:34 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> The tests that are not running properly have this pattern:
> [...]
>
> The test relies on...
Greg Shah
02:12 AM Support #10664: Develop a multi session test suite in harness
Razvan pointed out an issue with lock scopes in #10796, @locking@ test suite already includes lock release/downgrade ... Artur Școlnic

11/04/2025

06:50 AM Support #10664: Develop a multi session test suite in harness
+ Ovidiu Alexandru Lungu
06:50 AM Support #10664: Develop a multi session test suite in harness
I computed some topics to look into based on recent work we've done for customers on High/Urgent priority. This list ... Alexandru Lungu
05:05 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> I will change the tests to assign a different value.
After this and ignoring the error num...
Artur Școlnic
04:38 AM Support #10664: Develop a multi session test suite in harness
The tests that are not running properly have this pattern:... Artur Școlnic
01:32 AM Support #10664: Develop a multi session test suite in harness
Eric,
For review purposes, the actual test classes are in @flushing_and_validation@ and @locking@ directories in the...
Artur Școlnic
01:28 AM Support #10664: Develop a multi session test suite in harness
The tests are not checked in testcases, but I uploaded them to 10664a root directory for preliminary reviews. I figur... Artur Școlnic

11/03/2025

12:26 PM Support #10664: Develop a multi session test suite in harness
Are the tests checked in? Eric/Alex should do a code review on the tests. Greg Shah
11:13 AM Support #10664: Develop a multi session test suite in harness
I finished the locking tests, here is what they include:
* Lock type: no-lock, share-lock, exclusive-lock / no-wait
...
Artur Școlnic
05:23 AM Bug #10806: Presort queries can sometimes dynamically find records created after opening the query
Part of #10737, I discovered that BY clause index overlapping resolution is influenced by WHERE clause. This happens ... Alexandru Lungu
05:13 AM Bug #10806 (New): Presort queries can sometimes dynamically find records created after opening th...
Alexandru Lungu

10/31/2025

03:15 PM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
>
> It seems the rules are:
> 1. If a test does database operations committed or not, a tran...
Tomasz Domin
07:38 AM Support #10664: Develop a multi session test suite in harness
Greg Shah wrote:
> Sorry, I still need to catch up here. Are you saying that in OE, the ABLUnit test code in #10664...
Artur Școlnic
07:30 AM Support #10664: Develop a multi session test suite in harness
Sorry, I still need to catch up here. Are you saying that in OE, the ABLUnit test code in #10664-86 fails to compile... Greg Shah
07:19 AM Support #10664: Develop a multi session test suite in harness
... Artur Școlnic
06:28 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> Tomasz Domin wrote:
> > Dont we need tests running on level 0 ? Or test when we control when...
Tomasz Domin
06:26 AM Support #10664: Develop a multi session test suite in harness
Tomasz Domin wrote:
> Dont we need tests running on level 0 ? Or test when we control when level 1 is entered ?
> ...
Artur Școlnic
06:21 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> Tomasz Domin wrote:
> > I meant something different - if starting a test case implicitly sta...
Tomasz Domin
06:20 AM Support #10664: Develop a multi session test suite in harness
Tomasz Domin wrote:
> I meant something different - if starting a test case implicitly starts transaction we can onl...
Artur Școlnic
06:12 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> Maybe I am not explaining myself clear, this is what fails:
> [...]
> This doesn't even mak...
Tomasz Domin
05:42 AM Support #10664: Develop a multi session test suite in harness
Maybe I am not explaining myself clear, this is what fails:... Artur Școlnic
05:39 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> Tomasz Domin wrote:
> > Isnt each ABLUnit test case started within an implicit transaction a...
Tomasz Domin
05:28 AM Support #10664: Develop a multi session test suite in harness
Tomasz Domin wrote:
> Isnt each ABLUnit test case started within an implicit transaction already ?
AFAIK yes, but...
Artur Școlnic
05:26 AM Support #10664: Develop a multi session test suite in harness
Tomasz Domin wrote:
> Possible solution is moving subtransaction into a sub-procedure. But that would make tests har...
Artur Școlnic
05:25 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> In a simple program, constructs like:
> [...]
> are perfectly legal and cause no trouble.
...
Tomasz Domin
05:22 AM Support #10664: Develop a multi session test suite in harness
Artur Școlnic wrote:
> From my investigation, this is not a true warning and cannot be suppressed with @SESSION:SUPP...
Tomasz Domin
03:21 AM Support #10664: Develop a multi session test suite in harness
In a simple program, constructs like:... Artur Școlnic
08:37 PM Support #10664: Develop a multi session test suite in harness
> there were some hard limits with abl unit and nested explicit transactions
Please provide more details. What ar...
Greg Shah

10/30/2025

08:49 AM Support #10664: Develop a multi session test suite in harness
I have to mention an issue I was having in case anybody else encounters it.
If an abl unit class has all capital let...
Artur Școlnic
08:41 AM Support #10664: Develop a multi session test suite in harness
I solved all the issues with @flushing_and_validation@ tests, there were some hard limits with abl unit and nested ex... Artur Școlnic
04:29 AM Bug #10399: Index selection in dirty database
Eduard Soltan wrote:
> This issue can also be rejected, as it refers to a unit test rejected from customer applicati...
Constantin Asofiei
04:28 AM Bug #10399: Index selection in dirty database
This issue can also be rejected, as it refers to a unit test rejected from customer application. Eduard Soltan
 

Also available in: Atom