Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I8910a1a4267d824f064b52c6ad08945590bd9617
Issue-ID: POLICY-2203
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
The commons library wraps the SQLExceptions within its own SQLException,
so changed the code to simply look for a cause that's SQLTransientException,
eliminating the need to check specific error codes. Deleted the error
code property now that it is no longer needed.
Also updated the distributed locking properties to include examples.
Issue-ID: POLICY-2113
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: If46e85a81cfc952e561174fea670df81efb8309a
|
|
Modified PolicyResourceLockManager to just return a feature, deferring
the lock() call/method to the feature, itself. The manager was also
modified so that, if it can't find an enabled provider, it will return
a default provider, whose lock() methods always fail. Once a feature
has been identified, the manager will cache it for use thereafter.
Modified the feature API to return lock objects and simplified the
interface to remove the beforeXxx and afterXxx methods.
Moved the unlock and refresh methods from the feature API into the
lock class, renaming them to free and extend, respectively.
Added a separate, feature-simple-locking project, which implements
a simple version of the locking feature, over a single JVM.
Extensively revised the distributed locking feature to fit in with
the new API.
Added support for persistence so that the various LockImpl classes
can be serialized and still function correctly when they are
deserialized back into new feature instances
Added default implementations of free & extend to LockImpl.
Modified API to take the ownerKey string, instead of the owner object.
Removed Extractor as unneeded - may add via another review, if still useful.
Updates per review comments:
- Updated licenses in feature-simple-locking
- Added beforeCreateLock & afterCreateLock to feature API
- Moved SimpleLockingFeature into policy-management so that it's
always available
- Moved the executor service, "exsvc", into PolicyEngine
- Moved Extrator into policy-utils
- Changed Extractor logging level for exceptions
- Fixed feature sequence numbers
- Fixed mixing of seconds and milliseconds
- Renamed exsvc
- Modified to use property method with default value
- Configured scheduled executor
- Added suffix to Extractor.register()
- Eliminated Feature Api and tied lock manager into engine
- Added non-null checks to LockImpl parameters
- Added non-null checks to createLock() parameters
- Checked that lockManager is initialized
Change-Id: Iddba38157ddc5f7277656979c0e679e5489eb7b1
Issue-ID: POLICY-2113
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Address sonar issue, "Move constants to a class or enum", by
moving them from interfaces to classes:
ActiveStandbyFeatureApi
StateManagementFeatureApi
PolicyResourceLockFeatureApi
PolicySessionFeatureApi
DroolsController
DroolsControllerFeatureApi
PolicyControllerFeatureApi
PolicyEngineFeatureApi
HealthCheck
SystemPersistence
EventProtocolCoder
PolicyController
PolicyEngine
TestTransaction
MdcTransaction
Address sonar issue, "Move constants to a class or enum", by
change the interface to a class:
DroolsProperties
Address sonar issue, "Override the "equals" method in this class", by
adding equals & hashCode to:
DroolsPdpEntity
DroolsPdpImpl
Use lombok for a number of getters & setters.
Address sonar issue, "Define a constant instead of duplicating this
literal" in:
DroolsPdpsElectionHandler
JpaDroolsPdpsConnector
MavenDroolsController
GenericEventProtocolCoder
GsonProtocolCoderToolset
RestManager
Address sonar issue, "Remove the parentheses around the parameter" in:
MavenDroolsController
Address sonar issue, "Replace this lambda with a method reference" in:
LifecycleFsm
Address sonar issue, "Move this constructor to comply with Java Code
Conventions" in:
LifecycleStateRunning
Address sonar issue, "Replace this 'switch' statement by 'if'
statements to increase readability", as specified in:
PolicyEngineManager
Address sonar issue, "Rename field to prevent any misunderstanding/clash
with field" in:
MdcTransactionImpl
Address sonar issue, "Either log or rethrow this exception", in:
RestManager
Address sonar issue, "Rename this constant name to" uppercase, by
replacing enums with static lists in:
RestManager
Addressed review comments:
Fixed license dates.
Renamed getSiteName/setSiteName methods to getSite/setSite in
the interface to match the field names in the implementation
classes.
Renamed *Instance classes to *Constants.
Next round of review comments.
Change-Id: I1c26af9f194833dd773f2b25dc5f60cde163201c
Issue-ID: POLICY-1968
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added coverage to distributed locking.
Added coverage to test-transaction - still more to do.
Added coverage to healthcheck - still more to do.
Also fixed "code smell" in pooling.
Also fixed "code smell" in session persistence.
Fixed typo in comment.
Removed unneeded setUp() method from test.
Fixed new checkstyle errors.
Fixed another new checkstyle error.
Change-Id: I0d2ab13fcbd64486af88affb02e114e624c6a3d1
Issue-ID: POLICY-1148
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Fixed last remaining checkstyle issues along with
setting the pom.xml to the correct path setting.
Fixed forbidden summary fragments, not allowed
to prepend summary with "This method returns"
Issue-ID: POLICY-1153
Change-Id: I267842080494132a7b5507731e14f027a3f6fe44
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
These are the remaining submodules that have checkstyle. Pretty
clean compile after this. There were a couple of sonar fixes
in there also.
Issue-ID: POLICY-882
Change-Id: I8191ea1aa261f4a7b9d3d21c108572fd31db1b8c
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
This is the final step of separating the lock "refresh" operation
from the original "lock" operation. This step entails rejecting
subsequent "lock" requests, even by the same owner, when a resource
is already locked; "refresh" should now be used, instead, to extend
a lock.
Modified comments to indicate that the lock can only be extended
using "refresh".
Change-Id: I406cf60c076dbce87afbd94fb301732359dbd2db
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
This is the first step of separating the lock "refresh" operation
from the original "lock" operation. This step entails adding the
refresh() method to both the default and the feature-distriubted
locking mechanisms.
Change method call, in junit test, from lock to refresh.
Change branch name in git review.
Change-Id: I506de7a96cb3ee786839aca04ad67cdd7378832c
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Modified distributed locking code to use the DB time (i.e., "now()") when
determining expiration times of locks. This will eliminate concerns that
may arise from different timestamps on different JVMs. As part of the
change, the expirationTime column was changed from BIGINT to TIMESTAMP.
Rename 1810 sql scripts to 1811, to match release date.
Change-Id: Ibfb15742f447133b001e4340027657ac202864a6
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Modified the locking facility to add a time limit and remove the
callback parameter. This affected both the default facility as
well as the distributed locking feature. It will also require
a change to the rules for Closed Loop.
Changed testUnlock() to try locking with a different owner.
Default feature API should be OPER_UNHANDLED.
Put a few things back so-as not to break the drools-applications
build. They can be removed once drools-applications is updated.
Fix newlines in API java.
Change-Id: I3ed7835cac6a582493a9bc8f6d1d4f3e6cb6289e
Issue-ID: POLICY-872
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Made a number of changes to the locking code in policy-core, to address
sonar issues. This entaileed changing some of the Lock API methods to
return OperResult instead of Boolean.
Updated distributed locking with the new API return types.
Simplified Thread creation using functional methods.
Change-Id: If32bf7a435d2aedb969de1b77c7e7e27e110ecb0
Issue-ID: POLICY-728
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added protected method to Heartbeat class that allowed for the passing
of a CountDown latch. This will resolve the timing-related junit
failures in Jenkins environment.
Issue-ID: POLICY-729
Change-Id: I3d2d8bddfb6d9f82be54a2f13bdcd7e1fc65a286
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|
|
This feature is a very basic implementation of a distributed locking
system.
Issue-ID: POLICY-699
Change-Id: I012fd37926ccbbdd87a3e4acb2788b53680115f0
Signed-off-by: Magnusen, Drew (dm741q) <dm741q@att.com>
|