Hi Tom, all
Congrats on the 2.0 release!
I've been continuing running the test sets on the Symfoware
May I ask you for you help with the following three issues?
1. Review of patch
I've added a patch with changes required for a number of
run. Could you review them, and if okay, commit them?
2. Where is table name "SEQUENCE" defined?
I tried renaming all occurrences of the word "SEQUENCE" in the
could find but still some tests try to create a sequence table
table name SEQUENCE.
It starts with the 8th test in the JPA test set:
which tries a UPDATE SEQUENCE (...).
In the log I see even more:
[junit] [EL Config]:
generator name defined within [class
defaulted to: SEQUENCE.
[junit] [EL Fine]:
TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT
PRIMARY KEY (SEQ_NAME))
[junit] java.sql.SQLException: [SymfoWARE ODBC
I believe these might be from the CONCURRENCYA, B and C
ConcurrencyA, B and C entities. Each of them has
fieldID.setIsIdentity(true) resp. @GeneratedValue specified
details of the sequence generators are omitted.
I though it would default to what the platform's
createPlatformDefaultSequence() method returns but apparently
Many tests fail because of this issue.
3. Table locks during DROP TABLE
In the SymfowarePlatform wiki page you suggested that we
by trying to get the Core SRG running first. Most are passing
Only a few (the ReadAllTest tests, which rely on
AutoTableGeneratorBasicTestModel.java) failed I think
table lock issue.
The error message is:
Exception Description: 24 objects were read from the database,
originially there were, 12.
When I run it by itself through the test browser it passes
Some messages in the finest log let me believe this is
occurred while recreating the tables: they should have been
recreated, thereby clearing those old 12 object, but because
locking issue they were not.
[junit] Internal Exception: java.sql.SQLException: [SymfoWARE
Driver][SymfoWARE Server] JYP3913E : Table "PHONE" being used
exclusively by another user.
[junit] Error Code: -3913
[junit] Call: drop table PHONE
[junit] Query: DataModifyQuery(sql="drop table PHONE")
This table was created and accessed as follows:
1. drop (index) and table (outside transaction)
DROP TABLE PHONE
2. create table (and index) (in transaction), same connection
CREATE TABLE PHONE (EMP_ID NUMERIC(15) NOT NULL, TYPE
NOT NULL, AREA_CODE VARCHAR(3), P_NUMBER VARCHAR(7), PRIMARY
3. insert 30 rows (in single transaction), same connection
INSERT INTO PHONE (TYPE, AREA_CODE, P_NUMBER, EMP_ID) VALUES
[junit] bind => [Home, 613, 5551234, 105]
4. drop (index) and table (outside transaction), different
DROP TABLE PHONE
-> SQLException saying PHONE is locked.
I can reproduce this in a simple JDBC application. If I
connection used in steps 1-3 before step 4 it works fine.
I can see some session swapping is done in
tried adding a reset() invocation at the start of its
addForcedRequiredSystems() method but that did not help.
How can I make it close the physical connection?
(You mentioned adding logic into TestSystem?)
The lock issue occurs much more often in the JPA test set. The
failing test however is because of the reserved SEQUENCE
as table name, so if you could help me in the right direction
the above three issues I can try move forward with this test
Tom Ware wrote:
FYI: I am working on integrating your initial patch. There
couple of items I will not be integrating at the moment:
1. Specific references to SymfowarePlatform and
isSymfowarePlatform(). These will be left until
becomes part of the full product
2. Changes to default SEQUENCE table name to "\"SEQUENCE\""
Sessions and project XML (in XMLSessionConfigProject,
ObjectPersistenceRuntimeXMLProject and SequencingConfig).
simply to big a backward compatibility risk since I cannot
these changes on every database platform that EclipseLink is
by our customers. I am looking for some way of having this
information stored on the DatabasePlatform, but at the
not looking good. Assuming I do not find a good solution,
users will simply have to explicitly set these items when
proprietary configuration code (sessions.xml and
will also have to address anywhere in the tests we choose
where this is an issue.
I am in the process of running testing on the other changes
let you know when it gets checked in.
Dies Koper wrote:
I have added the outstanding issues with SQL keywords in
table/columns names, and maximum precision. The biggest open
is of course the drop table restriction. I'm looking
hearing what solution(s) you can come up with.
Tom Ware wrote:
I am moving some of the main points of this discussion to
wiki page so I can more easily keep track of where we are:
I started by just adding some basics about the main issues
are getting in the way at the moment. I plan to add more
next week. Please feel free to add other issues I have
As for some of the other things you were wondering about:
1. Your initial patch (including sequencing fixes etc.). I
to find some time to start integrating it next week
2. EclipseLink bug 286907 (not related to Symfoware
this bug is in the queue and will be addressed in sequence
the other bugs. The fact that you have submitted a patch
will potentially jump other bugs in the queue. At the
going to focus on the Symfoware Platform issues with my
so I can't make any promises about when it will be
3. GlassFish bug 9179 (not related to Symfoware platform) -
thing as above, but additionally: we cannot legally make
the submitted patch until it is attached to EclipseLink
someone with IP rights
I'll get started looking for some solutions next week.