[rules-users] Guvnor repository database use to store assets
puja nandamuri
med_9501 at yahoo.com
Tue Sep 13 16:13:11 EDT 2011
Initially, we had Guvnor deployed to only one instance of weblogic and using the database to store workspace, repository and versioning information in the database . This configuration was generated using the Manage Repository configuration option in Guvnor
later, Guvnor was mistakenly deployed to more than one instance of weblogic in a cluster , but each of the Guvnor using the same database through jndi datasource.
The repository.xml remained the same without any clustering setup.
Now, we see that each Guvnor instance has created a cluster_node.id file and also a revision.log file on the local file system.
could the multiple instances of Guvnor created a need for jackrabbit to recreate/update the Table ?
we see that this Table FS_WS_DEFAULT_FSENTRY seems to have been recreated /updated after the permissions for the Guvnor database user was changed back to db_owner from db_datareader and db_datawriter.
Could the multiple instances of Guvnor one each in a weblogic cluster setup have required changes to the Table structure ?
As always,Thank you for your feedback .
--- On Fri, 9/9/11, Tihomir Surdilovic <tsurdilo at redhat.com> wrote:
From: Tihomir Surdilovic <tsurdilo at redhat.com>
Subject: Re: [rules-users] Guvnor repository database use to store assets
To: rules-users at lists.jboss.org
Date: Friday, September 9, 2011, 12:06 PM
If you choose to store your repository in an external db, then you
should do it in all places of your repository.xml. Mixing the file
system with external db in repository.xml is not recommended.
Regarding:
>> we have another Guvnor which uses the following setting for
workspace.This seems to be working without any issues when we delete
the workspace and repository directory and deploying Guvnor again.
it is likely that this setting does not store workspace information
in the database and hence does not need to create additional tables?
On 9/9/11 1:07 PM, puja nandamuri wrote: <<
Well of course, If you use the LocalFileSystem, you are not using
your external database. The root of your initial problem was as you
mentioned: >> The DBA had locked the userid permissions to
prevent any new table creation in the Guvnor database. <<
Also mentioned previously was that Jackrabbit will create the tables
in an external db only the first time, so any consequent start will
not as the tables already exist. Also was mentioned that Jackrabbit
will still try to query the table metadata, and for you to make sure
the db user you specify in your DroolsRepositoryDatasource config
has the permissions to do that.
I would look on your end for couple of things:
1) What repository.xml file is being accessed by Guvnor when you
deploy a new war? Is it really the one you think it should?
2) Check with your DBA so he can play with permissions to see what
is the least amount of permissions he can give your db user in order
for this to work.
3) Check if this could be related to you importing a repository xml
file after re-deployment. AFAIK this operation should not create any
new tables, but you could check.
Since Jackrabbit has it's own db schema, I do not really see a need
to "lock down" permissions of the user. Not sure why this is
necessary on your end tobegin with. Could you explain?
Thanks.
I got some
additional details on the issue. i would appreciate some
advice on whether I should be storing the workspace to a
local file system or database .
In my repository.xml, I have the following setting for the
workspace file system.
<Workspace
name="${wsp.name}">
<!--
virtual
file
system of the workspace:
class:
FQN of
class implementing the FileSystem interface
-->
<FileSystem
class="org.apache.jackrabbit.core.fs.db.MSSqlFileSystem">
<param
name="driver"
value="javax.naming.InitialContext"/>
<param
name="url" value="droolsRepositoryDataSource"/>
<param
name="schema"
value="mssql"/>
<param
name="schemaObjectPrefix"
value="FS_WS_${wsp.name}_"/>
</FileSystem>
Is it likely that because Guvnor seems to be
storing the workspace information in the database , it
is trying to create the database tables again for
workspace during guvnor restart after deleting
workspace and repository directories on file system?
we have another Guvnor which uses the
following setting for workspace.This seems to be working
without any issues when we delete the workspace and
repository directory and deploying Guvnor again. it is
likely that this setting does not store workspace
information in the database and hence does not need to
create additional tables?
<FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param
name="path"
value="${wsp.home}"/>
</FileSystem>
--- On Tue, 9/6/11, Tihomir Surdilovic <tsurdilo at redhat.com>
wrote:
From: Tihomir Surdilovic <tsurdilo at redhat.com>
Subject: Re: [rules-users] Guvnor repository database
use to store assets
To: rules-users at lists.jboss.org
Date: Tuesday, September 6, 2011, 9:33 AM
All Jackrabbit template ddl
files are in the jackrabbit-core jar. That would be a
good place to start.
Thanks.
On 9/6/11 12:18 PM, puja nandamuri wrote:
the
account configured for the repository
database has the following change of
permissions after the intial tables creation
by Guvnor.
changed db_owner to db_datareader, db_datawriter and as
usual, it has public rights.
I am not an database expert but, should not
the above permissions allow for (
DatabaseMetaData#getTables) ?
any pointers on what exactly might be the
sql used in this case ?
Thanks,
Ram
--- On Mon, 9/5/11, Tihomir Surdilovic <tsurdilo at redhat.com>
wrote:
From: Tihomir Surdilovic <tsurdilo at redhat.com>
Subject: Re: [rules-users] Guvnor
repository database use to store assets
To: rules-users at lists.jboss.org
Date: Monday, September 5, 2011, 11:02 AM
Jackrabbit will
not try to create any new tables after
it initially created them. However it
does call a
*PersistenceManager.checkSchema() method
which AFAIK tries to read from the db
metadata ( DatabaseMetaData#getTables).
If the user does not have permissions to
do that, it will fail which I think is
the case in your scenario.
Thanks.
On 9/5/11 1:04 PM, puja nandamuri wrote:
Hi,
Sorry, I think the
original question I had
asked still seems to have
been unanswered.
This is the question I
had.
does Guvnor keep creating
additional tables as per the
need or is the Table
structure that Guvnor
creates in the beginning
where all the assets are
stored remains the same
until we manually delete the
Tables?
after creating rules and
assets for several days, we
had to re deploy a freshly
compiled Guvnor war file(
everything remaining the
same) using the same
repository xml and same
database connected through
jndi datasource.
In other words, just the
war file has been
recompiled. we also deleted
the workspace and repository
directories previously
created by Guvnor.
The DBA had locked the
userid permissions to
prevent any new table
creation in the Guvnor
database.
During Guvnor startup,
Guvnor had complained about
not having permission to
create Tables.
My question is :
why does Guvnor need to
create any additional tables
and not use the existing
Table structure in the
database.
I would appreciate any
thoughts on this.
--- On Sun, 9/4/11,
Nicolas Héron <nicolas.heron.java at gmail.com>
wrote:
From: Nicolas Héron <nicolas.heron.java at gmail.com>
Subject: Re: [rules-users]
Guvnor repository database
use to store assets
To: "Rules Users List" <rules-users at lists.jboss.org>
Date: Sunday, September 4,
2011, 10:52 PM
Hi,
Sorry, but
you do not have
to delete the
workspace
directory. Not
sure where you
are getting this
from? In cases
where you have a
large number of
packages/assets
in Guvnor it is
rather
recommended
_not_ to delete
the search
indexes written
onto the file
system, because
it takes extra
time to
re-create them.
May be it is
recommended. But
when you modify a
lot the assets,
rename, copy,
delete,etc..
Guvnor gets lost.
At
startup,
Jackrabbit
(containent in
Guvnor) reads
all the
database and
creates the
two
directories.
You do not
need to backup
them.
Again, I don't
know where you
are getting this
from. Jackrabbit
does _not_ read
the entire DB on
startup and does
not write any of
the JCR content
stored in an
RDBMS to the
file system if
you have
configured it to
store to the
RDBMS. If you
for any weird
reason are
seeing this on
your end, you
should really
have another
look at your
repository.xml.
The search
indexes, they are
stored on the file
system no ? And
with no index, you
cannot reach any
of the assets. So
when you delete
thoses
directories, at
startup, they are
re-created and the
database is read.
I do not know what
is read, but it
can take quite
some times,
depending on the
size of the
package. Now If
there is a way to
store thoses
indexes in the
database, I would
be happy to know
how.
The project I
am on has many
rules and many big
web decision
tables that end up
with more than
100000 rules. I
am using 5.3
snapshot with MVEL
beta6 =>
Startup time =5
minutes and
building the
package, 3 to 5
minutes on a HP G6
processor. On my
PC that has an i5
processor and a 32
bits linux, I
cannot build
anymore the
package.
With those
sizes, which is
not that much,
Guvnor/jackrabbits
gets lots on the
indexes : it gives
jackrabbit
exceptioorn or
spaces are not
considered. So
then, what I do is
delete those two
directories and
restart guvnor and
everything is fine
again.
Thanks
Nicolas
-----Inline Attachment
Follows-----
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110913/d51cfc50/attachment.html
More information about the rules-users
mailing list