I agree that the UUID is a pain to read. It definitely changes the game if we have a separate log for each system, I didn't know about this.

My only concern is if for some reason the user decides to combine all the error logs, or if in the future we allow the user to use syslog or some other centralized log framework. But I think I am being too paranoid. We'll probably be fine with a simple integer if each system has its own separate log file. IMHO we shouldn't try to solve the "combined error logs" problem until we see that it actually is a problem. It seems like a real edge case and we shouldn't make everyone suffer reading UUIDs for something that may or may not ever be a problem. It's easy enough to fix in the future.

I do want to bring up what we want to do for network client connections. DRDA generates a correlation token to uniquely identify each session. This is the DRDAID that's printed out in the traces/logs. It would be great for debugging if the network client Connection.toString() matched the DRDAID/correlation token (we have a JIRA item open for this that I am starting to look at). However, the DRDA correlation token is actually fairly long and complex. So this means we will have a simple integer like "1" for embedded connections and something like "NF000001.A6C3-4327113699128910688" for network client connections. A little odd, but I guess it's OK. Does anyone else have concerns or thoughts about this?

I can make the adjustment to this patch if all are OK with this. Sigh... :) I'll get started on it and get the tests going so if we decide to go with it we can have a better chance of getting it into 10.1

David

Kathey Marsden wrote:
Sunitha Kambhampati wrote:


Although I havent looked at the diffs yet, but I applied the patch in
Derby-243 to see how the derby.log would look with
derby.language.logStatementText=true

I notice now the output is a little hard to read with all the numbers
and letters to look at, but I guess thats OK since thats what we
decided on.


Well we should do the right thing.  I was willing to concede to UUID's
but I really don't have to look at those logs all the time.
I really hate to bring this up now, but after thinking about the error
stream stuff and reviewing Dag's new test  I have some new thoughts on
this issue myself and these are as follows.
     * The switch to UUID's was to guarantee uniqueness in  the case
where we have multiple
         class loaders running multiple Derby systems in the same jvm.

    *  If you do have multiple Derby systems in the same JVM,  you need
to use the
        derby.stream.error.*  properties to get your error log output
separated. (the default derby.log will just get clobbered by the multiple
systems.)
* If we stick with integers I think we get a unique id in each
stream so have clear separation of connection id's.

David can you convince me again that we need UUID's?  Sorry to bring
this all up again #:(


Kathey


Reply via email to