]
Steven Hawkins commented on TEIID-5096:
---------------------------------------
I'm still at a loss what is occurring here. Based upon your recent comments it
doesn't even seem like it's necessarily related to makedep. The only special
logic there is the use of regex pattern against the comment to determine the hint
properties - but that is done with a thread-safe Matcher.
Is is possible to share anything else here - are you using the admin client or directly
using the jboss cli? What is the full stacktrace you are getting at the client? Are
there any other concurrent deployment operations? Are there network issues possible
between where the cli client is running and the server?
In local testing I'm using an arquillian test that will do thousands of deployments of
a ddl vdb either replacing or new version that contains thousands of views each with a
makedep hint - without anything that resembles this issue.
Using /*+ MAKEDEP */ blocks the deploy proces when using DDL based
vdb
----------------------------------------------------------------------
Key: TEIID-5096
URL:
https://issues.jboss.org/browse/TEIID-5096
Project: Teiid
Issue Type: Bug
Affects Versions: 9.3.3
Reporter: Bram Gadeyne
Assignee: Steven Hawkins
Attachments: threaddump.txt
Hi,
I've created a vdb that is depoyed using a vdb-ddl.ddl file.
The deployment just stops and returned no error message when adding the SQL part below.
Subsequent deployments are not handles. It seems like the deployment process just hangs.
The only way to resolve this was to stop the wildfly server, remove the latest added
content from the standalone/data/content directory and restart wildfly.
{code:sql}
CREATE VIEW tv_retrieve_monvals(
admissionid integer not null,
VariableID integer not null,
Datetime timestamp not null,
Entertime timestamp not null,
varvalue double not null,
primary key (admissionid, VariableID, Datetime)
)
AS
SELECT v.PatientID AS admissionid, v.VariableID, v.Datetime, v.Entertime,
v."Value" AS varvalue
FROM (
SELECT mv.PatientID, mv.VariableID, mv.Datetime, mv.Entertime, mv."Value",
ROW_NUMBER() OVER (PARTITION BY mv.PatientID, mv.VariableID, mv.Datetime ORDER BY
mv.Entertime DESC) AS rang
FROM izisprod.P_GeneralData AS gd
INNER JOIN /*+ MAKEDEP */ izisprod.P_MonVals AS mv ON
gd.PatientID = mv.PatientID AND
bitand(mv.Status, 8) = 8 AND
bitand(mv.Status, 2) <> 2
WHERE gd.Status = 1 OR (gd.Status >= 4 AND gd.Status <> 5)
UNION
SELECT mv.PatientID, mv.VariableID, mv.Datetime, mv.Entertime, mv."Value",
ROW_NUMBER() OVER (PARTITION BY mv.PatientID, mv.VariableID, mv.Datetime ORDER BY
mv.Entertime DESC) AS rang
FROM iziswh.P_GeneralData AS gd
INNER JOIN /*+ MAKEDEP */ iziswh.P_MonVals AS mv ON
gd.PatientID = mv.PatientID AND
bitand(mv.Status, 8) = 8 AND
bitand(mv.Status, 2) <> 2
) AS v
WHERE v.rang = 1;
{code}
Removing the /*+ MAKDEP */ references resolves the issue.
I've tried creating a small ddl script that uses /*+ MAKEDEP */ to reproduce this
issue but this script does deploy so currently I can not make a small example.