[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Enhanced sequence performance in 12.1?

  • Thread starter Richard Banville
  • Start date
Status
Not open for further replies.
R

Richard Banville

Guest
Sorry your having problems using this new feature of OpenEdge 12.1. Not sure what you are running into but more information is needed to better understand it. I also suggest you engage Technical Support as this feature should be working as described in the documentation. I have had little problem adding 32 000 sequences on 1k, 4k and 8k databases from a linux machine running OpenEdge 12.1 via a dictionary load .df. Because this was all being done in one transaction cached in the client, my first attempt failed with the following error: -s stack exceeded Running with -s 100000 solved the problem for me. Probably could be smaller but I don't have the energy to find the minimum value. "At db startup a broker does NOT load the sequence blocks into buffer pool." The first 2 sequence blocks are loaded into the buffer pool at database startup. The remaining are loaded on demand. "Promon/Activity: Buffer Cache screen shows two sequence blocks but the screen lies (so can we trust the values of the other fields added in 11.7?)." I'm not sure how to address this statement. The values listed there should be correct at the time the buffer pool was scanned. They will change based on other activity occurring on the database. I believe they are correct and you can trust the fields added in 11.7. In OpenEdge 12.1, if you were to access a sequence out of each sequence block after database startup you should see that the expected # of sequence blocks are reported. "The load of 2300 sequences was successful and there were no system records with the sizes approaching 32K limit." I don't see a connection between max record size and the # of sequences. "Is it really dangerous to exceed the limit in 2000 sequences?" No it is not. As mentioned earlier in this post, it is expected that this new feature is working. "Why I did not get the error 19476?" Presumably because your attempt failed for some other reason than exceeding the maximum # of sequences. Maybe you encountered the "-s" client error as I did. "Please increase -B to fix more sequence buffers in memory for enhanced sequence performance. (19493) "What the enhanced sequence performance means?" "Under which conditions we can get the error 19493?" This enhancement is expected to be released with OpenEdge 12.2. in order to improve the concurrent access to sequences, an in-memory db technique will be used to access the data for sequence read requests. In support of that, the sequence blocks must be "anchored" in the buffer pool, that is prevented from being paged out of the buffer pool. In the case of ridiculously small buffer pools or deployments with many tenants and tenant specific sequences and relatively small buffer pools this message will appear stating that the performance enhancement will not be used to access sequence data. One other clarification, with 32,000 sequences: 1K db: Sequence Blocks 256 (why do we still support 1K dbs?) 2K db: Sequence Blocks 128 4k db: Sequence Blocks 64 8k db: Sequence Blocks 32

Continue reading...
 
Status
Not open for further replies.
Top