Bug 728547
Summary: | dbsetup/dbupgrade: increase size of sequence id cache for most of our tables | |||
---|---|---|---|---|
Product: | [Other] RHQ Project | Reporter: | Ian Springer <ian.springer> | |
Component: | Database | Assignee: | Robert Buck <rbuck> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Mike Foley <mfoley> | |
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 4.0.1 | CC: | ccrouch, hrupp, jshaughn, rbuck | |
Target Milestone: | --- | |||
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 748483 (view as bug list) | Environment: | ||
Last Closed: | 2013-09-12 21:15:41 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 620933, 748483, 748484 |
Description
Ian Springer
2011-08-05 14:07:45 UTC
Feedback: For stuff that rarely changes (think e.g. resources / resource types / ..) 10 is probably good so that we don't have huge holes in sequences when RHQ is restarted inbetween; or perhaps 20 .. 50 for other things (call time data or events ?) where larger values would sure be beneficial. When there is a mistake as in this: <schemaSpec version="2.115"> <schema-createSequence name="SOMESILLYSEQUENCE_SEQ" initial="10001" seqIdCacheSize="WOOF"/> </schemaSpec> You will get this sort of error: /home/rbuck/dev/sandboxes/rhq/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml:27: Failed to upgrade - error in spec version [2.115]. Cause: Error executing the task [org.rhq.core.db.ant.dbupgrade.SST_CreateSequence] in schema spec version [2.115]. Cause: Database SEQID Cache Size is not an integer: WOOF To specify NOCACHE: <schema-createSequence name="SOMESILLYSEQUENCE_SEQ" initial="10001" seqIdCacheSize="0"/> N.B. that for some open-source databases NOCACHE means "1", which effectively means they really don't support NOCACHE in the true sense of the word. If the CACHE size specified is identical to the factory defaults, no CACHE terms will be applied to the generated SQL. All negative values are mapped to the mode of using factory defaults, whatever they may be. We need to have someone test MS Sql Server; here are the steps to test: 1. Change db-upgrade.xml: <schemaSpec version="2.115"> <schema-createSequence name="SOMESILLYSEQUENCE_SEQ" initial="10001" seqIdCacheSize="0"/> </schemaSpec> 2. Change POM.xml: <scm.module.path>modules/core/dbutils/</scm.module.path> - <db.schema.version>2.114</db.schema.version> + <db.schema.version>2.115</db.schema.version> <rhq.ds.type-mapping>${rhq.test.ds.type-mapping}</rhq.ds.type-mapping> 3. Run: mvn -Ddbsetup commit 9f79315397c9bd048998bb0f72a367385f9a05cf Author: Robert Buck <rbuck> Date: 2011-10-24 11:00:54 -0400 [BZ 728547] Make SEQID cache sizes configurable; the new solution supports NOCACHE and CACHE semantics, it supports factory default sizes; for cases where factory default sizes are larger than the previous default value of 10, we opt for the factory default sizes. This seems to be done, although I believe we use the default of 10 everywhere still. Moreover, we use increments of 1 for all entities. If we plan on making perf enhancements for sequence cache sizes it should likely also include changes to the sequence increments for the relevant entities, as that has even more effect on perf, I think. See Constants.ALLOCATION_SIZE for more. Closing as CURRENTRELEASE |