Improvements in IBM TRIRIGA Performance
By Rick Rhea & Jay Manaloto
What has the IBM TRIRIGA performance team been up to? Over the last few years and last few releases, our performance team has focused on areas that aren’t normally covered by our standard benchmark tests, and on tools that can help customers to resolve performance issues on their own. If you’re interested, here are a few of our recent improvements in lease and platform performance.
- Lease Benchmark Testing: Not only are database server and process server resources especially important, but using multiple process servers improves performance.
- New Recommended Indexes: Several additional indexes were identified and added to the best practices to obtain the best response times and resource utilization of the database server.
- Lease Journal Entries: By redesigning journal entry processing with parallel and batch processing, and multiple process servers, our test results took only about 2.5 hours instead of over 90 hours.
- Platform Enhancements: Dynamic workflows can now pass and return parameters, the Query task can now return the number of records instead of the actual records, and the Trigger Action task can now run the asynchronous event that occurs after the transition by a user other than the currently logged-in user.
- BIRT Reporting & Lease Disclosure Reports: In Version 3.6.1, the reporting was modified to improve running on a separate BIRT server, and to avoid the problematic “params.displayText”.
- Performance Analyzer Tool: In Version 3.5.3, this tool was introduced to allow a customer to run specific logging types without using the Admin Console, and to view easy-to-read reports.
- Module Level Associations, Early Adopter Feature: In Version 3.7.0, the platform was enhanced to support Module Level Associations (MLA) tables where the records in the IBS_SPEC_ASSIGNMENTS table are distributed into smaller tables that are created by module type.
By applying the above finding and tools, our recent IBM TRIRIGA 10.7.0 / 3.7.0 release has demonstrated a significant improvement in performance over previous releases. But we’re not done yet! Our performance team will continue to dig deeper into weaker areas or potential opportunities to make our products stronger or faster. So stay tuned for any upcoming developments!
Note: For future releases, “Module Level Assignments” will be renamed “Module Level Associations”.
[Admin: This post is related to the 07.27.17 post about the Performance Analyzer. To see other related posts, use the Performance tag.]
What is a way to create an analogue of an editable report using UX framework?
You can accomplish this by doing the following:
- 1. Create the query data source.
- 2. In the code, create an iterator over the data (dom-repeat or iron-list).
- 3. Either add a button for saving, or catch the on-change event in order to commit the data to the database by using the triplat-ds updateRecord method.
In newer platforms, you can look into triblock-table as well. I’ve never used it, but you can definitely create custom components inside the cells in order to make displaying data easier.
[Admin: To see other related posts, use the UX Framework tag or Perceptive tag.]
I’ve noticed that the triStatusCL column of the T_TRIPEOPLE table has been defined as VARCHAR2(1000) by default. Can we resize it using SQL? What’s the impact? According to my understanding, all of the classification type fields are defined in the same way, correct?
This is actually set by design, and uses a thousand characters for compatibility reasons. But there might be a size change based on platform changes in the future.
[Admin: To see other related posts, use the Character tag or Classifications tag.]
We have an issue where sometimes after applying a cost code template to a project, the hierarchy path will not be complete. It will be missing all of the parent path and only shows the name. This issue is only visible in the app by viewing the System Path field inside the form or by using a SQL query, because the system path in the T_TRICOSTCODE table is correct, but the object path field in the IBS_SPEC table is the one that’s not complete. The issue does not have much consequence unless you are using the rollup fields, in which case the corrupt cost code path will cause a posted transaction to fail.
If there are customers who use cost codes heavily, you can try running the following SQL, and if you get any results back, then that means the issue is present at some level in your environment. It is not necessary that you use the Apply Template to create your cost codes, as I have heard of others having the issue where their cost codes are created via an integration. This SQL is for Oracle and may need a tweak for SQL Server. If any customers can run this, and see if they have the issue, it may help us identify how it happens.
select tripathsy, triprojectnamesy, OBJECT_PATH from t_tricostcode T1, IBS_SPEC T2 where T1.spec_id in (select spec_id from ibs_Spec where type_name = ‘triCostCode’ and object_path not like ‘%\Cost Code%’) AND T1.spec_id = T2.spec_id and tripathsy like ‘%\Cost Code%’
[Admin: To see other related posts, use the Cost Code tag or Templates tag.]
I am uploading a tab-delimited file and writing the data into a staging table using TRIRIGA integration object. While uploading the file, I need to restrict the number of lines that can be uploaded into the staging table. I am using DataConnect and a custom task to read the file from the binary field. But I am not able to read the file. How can we read the file from the integration object?
[Admin: To see other related posts, use the Integration Object tag, Staging tag, or DataConnect tag.]
Our customer has seen an issue when installing TRIRIGA 3.5.3 (Linux, Server build number: 276955) on an existing database (on 3.4.2 / 10.4.2). Everything goes well until starting up the server. Generally, TRIRIGA will run a database upgrade on the first startup when a build number difference is detected.
In the OM log, we notice that TRIRIGA tried to import the upgrade OM package… The import process started with the triPlatformObjectLabelManager package, but it failed to import a navigation item, which is newly created for Object Label Manager. I haven’t found any log which can explain this failure. I’ve checked the NAV_ITEM table. This navigation item wasn’t there before the upgrade process. Then all of the other packages are stuck on a pending status. Nothing happens after “Creating package from Zip file”. This behavior causes a lot of SQL update failures.
Meanwhile, on our Dev environment (Windows, Server build number: 279835), the upgrade went very well. You can find the difference in the logs. The OM log was set on “Debug” level on both servers. Note that the build number is slightly different between these two enviroments. Have you seen this kind of issue? Where can I find more details about the navigation item import failure?
[Admin: This post is related to the 02.17.17 post and 05.19.16 post about inconsistent OM validation results. To see other related posts, use the Object Migration tag or Upgrade tag.]
I added a new date field, cstReminderDateDA, to a custom business object. For existing records, there is a requirement that cstReminderDate be set to the value of an existing date field (cstDueDateDA) minus 30 days, i.e. cstReminderDateDA = (cstDueDateDA – 30). This would be pretty straightforward, except that both cstReminderDateDA and cstDueDateDA are stored as numeric fields in our Microsoft SQL Server database. How do I populate cstReminderDateDA?
IBM TRIRIGA stores the date as epoch time. See the following wiki link explaining this. If you do some searching, you will find some functions available for SQL Server for data calculations.
[Admin: To see other related posts, use the Epoch Time tag.]
I am attempting a clean install of TRIRIGA 3.5.3 and according to the logs, it appears that the installation was successful within the was-ant.log. But I receive this error in the ant.log… When I access the application, I was unable to pull up the login page. Checking the server logs, I noticed these errors… The odd thing is that when I did a TRIRIGA 3.5.3 install on WebSphere Liberty, it worked perfectly…
The errors seem to indicate that you selected an upgrade, not a new install. Are you sure you selected a new install? Some of the environment properties that are needed to start up do not seem to be available. Did the database get created or are you pointing at an existing database? What happens if you do a select * from environment_properties on the database you are using?
The DB2 exception you are receiving seems to indicate you are running out of statement handles, but it’s hard to see this happen with a successful install.
[Admin: To see other related posts, use the WebSphere tag or “install error” search phrase.]
I made a big import of data in TRIRIGA, but the resources were not enough to proceed. So I have to stop TRIRIGA and truncate all events to stop the import. But now, the database log never stops growing and crashing the database. Is there a way to clean up and make TRIRIGA stable?
If this is Microsoft SQL Server, this may be related to the following SQL Server defect: SQL Server crashes when the log file of tempdb database is full in SQL Server 2012 or SQL Server 2014.
[Admin: To see other related posts, use the SQL tag or “sql server” search phrase.]