Juan Hernandez has posted comments on this change.
Change subject: core: Locate data source in a loop
......................................................................
Patch Set 1: (2 inline comments)
....................................................
File
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacadeLocator.java
Line 42: if (datasource != null) {
Line 43: break;
Line 44: }
Line 45:
Line 46: // Tell the user that the lookup failed but that we
will try
Yair, we can do that. But what should we do when we fail after unsuccessfully
retrying? The only reasonable thing I see we can do is a log message and
System.exit(whatever).
Line 47: // again in a few seconds:
Line 48: log.warn(
Line 49: "The datasource can't be located. This probably
means " +
Line 50: "that DNS is not working correctly or is slow,
please " +
Line 51: "check it. Will try again in a few seconds.");
Line 52:
Line 53: // Wait a bit before trying again:
Line 54: Thread.sleep(DEFAULT_INTERVAL_VALUE);
Line 55: }
Alissa, all that is true, and I mostly agree.
However the logic in that static block was not introduced by this patch, it was
already there, so the patch should not be judged according to the goodness or
badness of putting logic in static blocks.
Also, if this loop doesn't finish, that means that there is a severe
configuration problem, as there is no database connection, and no point (or
possibility) in doing any other useful task. The infinite loop is bad, but
letting the application start without the possibility to get database
connections is even worse.
So in my opinion this patch doesn't make the application worse when things work
as expected (when the data source is deployed before the application), it
improves the application a lot when things don't work as expected (when the
pool is deployed after the application) and improves the application a bit with
a better log message when there are severe configuration issues.
Line 56:
Line 57: // Create the facade and return it:
Line 58: dbFacade = new DbFacade();
Line 59: dbFacade.setDbEngineDialect(loadDbEngineDialect());
--
To view, visit http://gerrit.ovirt.org/10189
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I72c99c61d05e8a1619c7d1fb70af956d1050eb3a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <[email protected]>
Gerrit-Reviewer: Alissa Bonas <[email protected]>
Gerrit-Reviewer: Barak Azulay <[email protected]>
Gerrit-Reviewer: Juan Hernandez <[email protected]>
Gerrit-Reviewer: Roy Golan <[email protected]>
Gerrit-Reviewer: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches