Admin Guide
Admin Guide
Admin Guide
Contents
Part 1
Application Administration
1 Managing Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
PolicyCenter Default System Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Default Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
PolicyChange Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Renewal Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Super User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
System User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Change the Unrestricted User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Minimum and Maximum Password Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3
Guidewire PolicyCenter 9.0.6 System Administration Guide
Part 2
Server Administration
3 PolicyCenter Server Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Important PolicyCenter Server Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Understanding the PolicyCenter Server Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Understanding the Configuration Registry Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
The Configuration Registry Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
Example Syntax for Registry Server Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Example Syntax for the Registry System Property Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Assigning Server Roles to PolicyCenter Cluster Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Defining a New Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
JVM Options and Server Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
JVM Options for gwb Build Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
JVM Options Specific to the runServer Build Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Setting JVM Options in PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Configuration Parameters by Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Default Configuration Values and Environment Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
4
Guidewire PolicyCenter 9.0.6 System Administration Guide
5 Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
Understanding Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
Configuring Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
About Guidewire Geocoding Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
Enable the Geocode Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
Schedule Geocode Batch Processing Runs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Configure the Number of Worker Instances for Geocode Batch Processing . . . . . . . . . . . . . . . . . .78
6
Guidewire PolicyCenter 9.0.6 System Administration Guide
Part 3
Server Clustering Administration
7 Understanding PolicyCenter Server Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Cluster Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Guidewire PolicyCenter Cluster Installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Cluster Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Configuring Cluster Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Cluster Plugin Parameter Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Cluster Plugin System Properties Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Cache eviction messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Logging cluster plugin parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Server Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
batch Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Messaging Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
scheduler Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
startable Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
workqueue Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
ui Server Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Example PolicyCenter Cluster Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Cluster Member Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Cluster Member Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ui-Role Cluster Member Shutdown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Non-ui Role Cluster Member Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7
Guidewire PolicyCenter 9.0.6 System Administration Guide
Part 4
Security Administration
11 Managing Secure Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
PolicyCenter and the Transport Layer Security Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
PolicyCenter and Secure Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
The PolicyCenter Connection Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Restricting access to a PolicyCenter screen by server mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Multifactor Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Add multifactor authentication field to PolicyCenter Login screen . . . . . . . . . . . . . . . . . . . . . . . 183
8
Guidewire PolicyCenter 9.0.6 System Administration Guide
Part 5
Database Administration
15 Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Accessing the Database Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
The Database Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
The Database autoupgrade Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
The databasestatistics Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
The dbcp-connection-pool Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
The reset-tool-params Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
The jndi-connection-pool Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Configuring JNDI Connection Initialization for Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
The oracle-settings Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
The sqlserver-settings Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
The upgrade Database Configuration Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
The mssql-db-ddl Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
The ora-db-ddl Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
The versiontriggers Database Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Part 6
Business Rules Administration
21 Administering Business Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Business Rules in Guidewire PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Business Rule Roles and Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Business Rule Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Business Rule Production Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Business Rule Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Business Rule Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Rules for Deleting a Business Rule Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Business Rule Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Business Rule State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Business Rule Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Business rule logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Invalid Business Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
11
Guidewire PolicyCenter 9.0.6 System Administration Guide
Part 7
Administration Tools
23 Server Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Accessing the Server Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Batch Process Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Processes Table Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Chart and History Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Download a Batch Process History Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Work Queue Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Work Queue Table Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Item Statistics Tabs and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Work Queue Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
The Work Queue Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Download a Work Queue Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
The Work Queue Raw Data Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Download the Work Queue Raw Data Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
The Work Queue History Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Download the Work Queue History Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
About Work Queue Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Set Log Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
View Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Info Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Archive Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Domain Graph Info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Consistency Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Database Table Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Database Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Database Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Data Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Database Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Oracle Statspack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Oracle AWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Oracle AWR Unused Indexes Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Oracle Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
SQL Server DMV Snapshot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Microsoft JDBC Driver Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Load History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Load Integrity Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Load Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Runtime Environment Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Safe Persisting Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Loaded Gosu Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Serialization Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Management Beans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Startable Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Cluster Members and Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Cluster Members – This Application Server Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Cluster Members – Application Server Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Cluster Members – Components Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Cluster Members – History Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
12
Guidewire PolicyCenter 9.0.6 System Administration Guide
14
Guidewire PolicyCenter 9.0.6 System Administration Guide
15
Guidewire PolicyCenter 9.0.6 System Administration Guide
Document Purpose
InsuranceSuite Guide If you are new to Guidewire InsuranceSuite applications, read the InsuranceSuite Guide for informa‐
tion on the architecture of Guidewire InsuranceSuite and application integrations. The intended read‐
ers are everyone who works with Guidewire applications.
Application Guide If you are new to PolicyCenter or want to understand a feature, read the Application Guide. This guide
describes features from a business perspective and provides links to other books as needed. The in‐
tended readers are everyone who works with PolicyCenter.
Database Upgrade Guide Describes the overall PolicyCenter upgrade process, and describes how to upgrade your PolicyCenter
database from a previous major version. The intended readers are system administrators and imple‐
mentation engineers who must merge base application changes into existing PolicyCenter application
extensions and integrations.
Configuration Upgrade Guide Describes the overall PolicyCenter upgrade process, and describes how to upgrade your PolicyCenter
configuration from a previous major version. The intended readers are system administrators and im‐
plementation engineers who must merge base application changes into existing PolicyCenter applica‐
tion extensions and integrations. The Configuration Upgrade Guide is published with the Upgrade
Tools and is available from the Guidewire Community.
New and Changed Guide Describes new features and changes from prior PolicyCenter versions. Intended readers are business
users and system administrators who want an overview of new features and changes to features. Con‐
sult the “Release Notes Archive” part of this document for changes in prior maintenance releases.
Installation Guide Describes how to install PolicyCenter. The intended readers are everyone who installs the application
for development or for production.
System Administration Guide Describes how to manage a PolicyCenter system. The intended readers are system administrators re‐
sponsible for managing security, backups, logging, importing user data, or application monitoring.
Configuration Guide The primary reference for configuring initial implementation, data model extensions, and user inter‐
face (PCF) files for PolicyCenter. The intended readers are all IT staff and configuration engineers.
PCF Reference Guide Describes PolicyCenter PCF widgets and attributes. The intended readers are configuration engineers.
Data Dictionary Describes the PolicyCenter data model, including configuration extensions. The dictionary can be gen‐
erated at any time to reflect the current PolicyCenter configuration. The intended readers are configu‐
ration engineers.
Security Dictionary Describes all security permissions, roles, and the relationships among them. The dictionary can be
generated at any time to reflect the current PolicyCenter configuration. The intended readers are con‐
figuration engineers.
Globalization Guide Describes how to configure PolicyCenter for a global environment. Covers globalization topics such as
global regions, languages, date and number formats, names, currencies, addresses, and phone num‐
bers. The intended readers are configuration engineers who localize PolicyCenter.
Rules Guide Describes business rule methodology and the rule sets in Guidewire Studio for PolicyCenter. The in‐
tended readers are business analysts who define business processes, as well as programmers who
write business rules in Gosu.
Contact Management Guide Describes how to configure Guidewire InsuranceSuite applications to integrate with ContactManager
and how to manage client and vendor contacts in a single system of record. The intended readers are
PolicyCenter implementation engineers and ContactManager administrators.
Document Purpose
Best Practices Guide A reference of recommended design patterns for data model extensions, user interface, business
rules, and Gosu programming. The intended readers are configuration engineers.
Integration Guide Describes the integration architecture, concepts, and procedures for integrating PolicyCenter with ex‐
ternal systems and extending application behavior with custom programming code. The intended
readers are system architects and the integration programmers who write web services code or plu‐
gin code in Gosu or Java.
Java API Reference Javadoc‐style reference of PolicyCenter Java plugin interfaces, entity fields, and other utility classes.
The intended readers are system architects and integration programmers.
Gosu Reference Guide Describes the Gosu programming language. The intended readers are anyone who uses the Gosu lan‐
guage, including for rules and PCF configuration.
Gosu API Reference Javadoc‐style reference of PolicyCenter Gosu classes and properties. The reference can be generated
at any time to reflect the current PolicyCenter configuration. The intended readers are configuration
engineers, system architects, and integration programmers.
Glossary Defines industry terminology and technical terms in Guidewire documentation. The intended readers
are everyone who works with Guidewire applications.
Product Model Guide Describes the PolicyCenter product model. The intended readers are business analysts and implemen‐
tation engineers who use PolicyCenter or Product Designer. To customize the product model, see the
Product Designer Guide.
Product Designer Guide Describes how to use Product Designer to configure lines of business. The intended readers are busi‐
ness analysts and implementation engineers who customize the product model and design new lines
of business.
narrow bold The name of a user interface element, such Click Submit.
as a button name, a menu item name, or a
tab name.
monospace Code examples, computer output, class and The getName method of the IDoStuff API returns the name of the
method names, URLs, parameter names, object.
string literals, and other objects that might
appear in programming code.
monospace italic Variable placeholder text within code Run the startServer server_name command.
examples, command examples, file paths, Navigate to http://server_name/index.html.
and URLs.
Support
For assistance, visit the Guidewire Community.
About PolicyCenter documentation 17
Guidewire PolicyCenter 9.0.6 System Administration Guide
Guidewire customers
https://community.guidewire.com
Guidewire partners
https://partner.guidewire.com
Application Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
chapter 1
Managing Users
This topic discusses the default system users that Guidewire provides in the base PolicyCenter configuration.
Default Owner
Default system user defaultowner has the following characteristics.
User defaultowner has first name Default and last name Owner. In the base configuration, PolicyCenter does not
assign roles to this user.
If PolicyCenter cannot assign certain business objects to a specific user, PolicyCenter assigns that object to user
defaultowner. PolicyCenter performs this assignment internally.
Guidewire recommends, as a business practice, that someone in the organization periodically search for outstanding
work assigned to user defaultowner. If the search finds one of these assignments, the searcher must reassign these
Managing Users 21
Guidewire PolicyCenter 9.0.6 System Administration Guide
items to a proper owner. Guidewire also recommends that the rule administrator investigate why PolicyCenter did
not assign an item of that type and correct any errors in the rules.
PolicyChange Daemon
Default system user policychange_daemon has the following characteristics.
User policychange_daemon has first name PolicyChange and last name Daemon. In the base configuration,
PolicyCenter assigns the Superuser role to the policychange_daemon user. The Superuser role has all permissions.
Thus, user policychange_daemon has unrestricted access to the entire PolicyCenter application.
PolicyCenter defines user policychange_daemon as the default user for automatic policy changes started through
the PolicyChangeAPI. The Super User role assigned to this user provides overriding authority to auto-approve all
underwriting issues that occur in automated policy changes. Guidewire recommends that you review the roles and
permissions associated with this user in a production environment.
Renewal Daemon
Default system user renewal_daemon has the following characteristics.
User renewal_daemon has first name Renewal and last name Daemon. In the base configuration, PolicyCenter
assigns the Superuser role to the renewal_daemon user. The Superuser role has all permissions. Thus, user
renewal_daemon has unrestricted access to the entire PolicyCenter application.
PolicyCenter defines user renewal_daemon as the default user for automated renewal policy transactions started
through PolicyRenewalStart batch processing. The Super User role assigned to this user provides overriding
authority to auto-approve all underwriting issues that occur in automated policy renewals. Guidewire recommends
that you review the roles and permissions associated with this user in a production environment.
Super User
Default system user su has the following characteristics.
22 chapter 1: Managing Users
Guidewire PolicyCenter 9.0.6 System Administration Guide
User su has first name Super and last name User. Guidewire configures user su as an unrestricted user in
configuration file config.xml. PolicyCenter does not evaluate permissions for unrestricted users. As a consequence
of PolicyCenter bypassing permission checking, the unrestricted user has access to the entire PolicyCenter
application. Thus, an unrestricted user behaves as if it has all permissions.
In the base configuration, PolicyCenter assigns the Superuser role to the su user.
IMPORTANT Guidewire strongly recommends that you change the Super User password from its
default value.
See also
• “Change the Unrestricted User” on page 24
• “Command Prompt Tools” on page 385
• Installation Guide
System User
Default system user sys has the following characteristics.
User sys has first name System and last name User. In the base configuration, PolicyCenter does not assign roles to
this user.
PolicyCenter requires user sys to exist. PolicyCenter uses this user to perform automated work such as running
batch processing, messaging polling, and server startup. Each time PolicyCenter needs to do such work, it creates a
session with the sys user. This is why there might appear to be many sessions with the sys user. Session in this
sense is not a web session. Rather, it represents the authentication of a user.
WARNING Do not rename or delete the sys user. Deleting or renaming this user disables
PolicyCenter.
Procedure
1. In the Studio Project window, expand configuration→config:
2. Open file config.xml for editing.
3. Set configuration parameter UnrestrictedUserName to the user name of the new unrestricted user:
Application Logging
PolicyCenter creates automatic logs of many actions by users and operations by the server.
Logger Logical file name. It is possible to configure each logger independently to log information at a certain level.
Appender Output point (destination) for a logger. This can be, for example, the application console or a specific logging file.
Layout Log entry formatting instructions. Each logger category can have its own layout format.
These logging component types work together to log messages according to the message type and severity level.
These components also define the format and the output destination for the various logging categories.
For more information on slf4j, see the following web site:
http://slf4j.org/index.html
For more information on Apache log4j loggers, appenders, and layouts, see the following web site:
http://logging.apache.org/log4j/1.2/manual.html
Application Logging 25
Guidewire PolicyCenter 9.0.6 System Administration Guide
This setting:
• Instructs PolicyCenter to send system-wide informational messages to two output points: the PolicyCenter
console (Console) and a log file (with name DailyFileLog in the default configuration).
• Sets the default logging level to INFO.
Within file logging.properties, entries such as log4j.appender.* indicate the parameters of each output point.
These entries identify properties such as location or output format options. As PolicyCenter starts, it attempts to
write a log file in the location specified by log4j.appender.DailyFileLog.File. By default, PolicyCenter writes
to the following log file:
tmp/gwlogs/PolicyCenter/logs/pclog.log
PolicyCenter creates the log file automatically. However, if the directory specified by DailyFileLog.File does not
exist, PolicyCenter writes log information to the console only.
For more information about how to create and manage log4j entries in logging.properties, see the following
Apache web site:
http://logging.apache.org/log4j/1.2/manual.html
Guidewire comments out many of the example loggers in file logging.properties. This action makes the logger
inactive. To an example logger active, uncomment the logger entry by removing the hash mark (#) at the beginning
of the line. For example, in the base configuration, the Messaging logging category is inactive in Guidewire
PolicyCenter.
To make the Messaging logging category active, remove the hash mark from the following line of code.
log4j.category.Messaging=DEBUG, MessagingLog
Guidewire supports a number of logging categories for which there are no existing examples in the PolicyCenter
base configuration. To add a new logging category to file logging.properties, do the following:
Procedure
Level Description
TRACE Messages about processes that are about to start or that completed. These types of messages provide flow‐of‐control
logging. Trace logging has no or minimal impact on system performance. Typical messages might include:
• Calling plugin.
• Returned from plugin call.
DEBUG Messages that test a provable and specific theory intended to reveal some system malfunction. These messages need
not be details but include information that would be understandable by an administrator. For example, dumping the
contents of an XML tag or short document is acceptable. However, exporting a large XML document with no line
breaks is usually not appropriate. Typical messages might include:
• Length of Array XYZ = 2345.
• Now processing record with public ID ABC:123456.
INFO Messages that convey a sense of correct system operation. Typical messages might include:
• Component XYZ started.
• User X logged on to PolicyCenter.
WARN Messages that indicate a potential problem. Examples include:
• An assignment rules did not end in an assignment.
• Special setting XYZ was not found, so PolicyCenter used the default value.
• A plugin call took over 90 seconds.
ERROR Messages that indicate a definite problem. Typical messages might include:
• A remote system refused a connection to a plugin call.
• PolicyCenter can not complete operation XYZ even with a default.
In some cases, PolicyCenter does not use a particular plugin interface. In those cases, the logging category exists in
file logging.properties, but, PolicyCenter does not use the category for logging.
Procedure
1. Ensure that the PolicyCenter server is running.
2. Navigate to the following directory in the PolicyCenter installation directory:
admin/bin
3. Enter the following command:
system_tools -user user -password password -loggercats
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Procedure
1. Ensure that the PolicyCenter server is running.
2. Call the following method on the SystemToolsAPI web service:
SystemToolsAPI.getLoggingCategories
# log4j.category.RuleEngine=INFO, RuleEngineLog
log4j.additivity.RuleExecution=false
log4j.appender.RuleExecutionLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RuleExecutionLog.encoding=UTF-8
log4j.appender.RuleExecutionLog.File=/tmp/gwlogs/PolicyCenter/logs/ruleexecution.log
Related information
Apache Logging Services
uses gw.api.system.PCLoggerCategory
...
var logger = PCLoggerCategory.ASSIGNMENT
...
logger.debug("Print out this message.")
Application Logging 31
Guidewire PolicyCenter 9.0.6 System Administration Guide
Logging Levels
You can use the logger category API to generate logging messages for any valid PolicyCenter logging level. The
following are all valid log levels:
• Trace
• Info
• Debug
• Warn
• Error
The following code is an example of the use of a debug logging statement in a Gosu rule.
logger.debug( "##### This is the Global Pre-renewal Assignment rule " +
actions.getRule().DisplayName )
The log level that you set here overrides the default logging level set for this category in logging.properties.
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%-10.10X{server} %-8.24X{userID} %d{ISO8601} %p %m%n
Notice that:
• Apache utility class PatternLayout, a standard part of the Apache log4j distribution, provides the means of
handling string patterns.
• Conversion patterns use control characters, similar to the C language printf function, to specify the output
format for the message.
You can modify the log4j.appender.log.layout.ConversionPattern value to change the information included
in log messages for a log type. For example, to list the logging category for console logs, add %c to the
log4j.appender.Console.layout.ConversionPattern value. You can then filter logs by category.
Character Description
%% Writes the percent sign to output.
%c Name of the logging category. See “Understanding Logging Categories” on page 28 for categories provided with
PolicyCenter.
Character Description
%C Name of the Java class. Because the PolicyCenter logging API is a wrapper around log4j, %C returns the class
name of the logger. If you want class names in your log messages, include them specifically in the message rath‐
er than by using %C in the conversion pattern.
%d Date and time. Acceptable formats include:
• %d{ISO8601}
• %d{DATE}
• %d{ABSOLUTE}
• %d{HH:mm:ss,SSS}
• %d{dd MMM yyyy HH:mm:ss,SSS}
• ...
PolicyCenter uses %d{ISO8601} by default.
%F Name of the Java source file. Because the PolicyCenter logging API is a wrapper around log4j, %F returns a file
name for the PolicyCenter logging API. If you want file names in your log messages, include them specifically in
the message rather than by using %F in the conversion pattern.
%l Abbreviated format for %F%L%C%M. This outputs the Java source file name, line number, class name and method
name. Because the PolicyCenter logging API is a wrapper around log4j, the information returned is for the
PolicyCenter logging API. If you want information such as class and method names in your log messages, include
them specifically in the message rather than by using %l in the conversion pattern.
%L Line number in Java source. Because the PolicyCenter logging API is a wrapper around log4j, %L returns a line
number from the PolicyCenter logging API. If you want line numbers in your log messages, include them specifi‐
cally in the message rather than by using %L in the conversion pattern.
%m The log message.
%M Name of the Java method. Because the PolicyCenter logging API is a wrapper around log4j, %M returns info
string. If you want method names in your log messages, include them specifically in the message rather than by
using %M in the conversion pattern.
%n New line character of the operating system. This is preferable to entering \n or \r\n as it works across platforms.
%p Priority of the message. Typically, either FATAL, ERROR, WARN, INFO or DEBUG. You can also create custom priorities
in your own code.
%r Number of milliseconds since the program started running.
%t Name of the current thread.
%throwable Include a throwable logged with the message. Available format is:
• %throwable – Display the whole stack trace.
• %throwable{n} – Limit display of stack trace to n lines.
• %throwable{none} – Equivalent of %throwable{0}. No stack trace.
• %throwable{short} – Equivalent of %throwable{1}. Only first line of stack trace.
%X The nested diagnostic context. You can use this to include server and user information in logging messages.
Specify a key in the following format to retrieve that information from the nested diagnostic context: %X{key}.
The following keys are available:
• server
• user
• userID
• userName
For example, to include the server name, add %X{server}. For example, to include the server name, add
%X{server}.
There are three options for logging user information in logging patterns:
user – prints the numeric opaque ID for the user
userID – a unique user ID string, such as "aapplegate"
userName – a real name, such as "Andy Applegate"
For any of these, specify the minimum and the maximum size of the field. For example: %-16.16X{userName}.
Application Logging 33
Guidewire PolicyCenter 9.0.6 System Administration Guide
Character Description
If the actual value is shorter than the minimum field size, the user identifier gets padded with spaces on the
right. If the actual value is longer than the maximum size of the field, the user identifier gets truncated from the
left.
The user key lists a sequence number assigned to the user by the server and is not very informative. To include
user login ID information, instead use the userID key.
Related information
Log4j Pattern Layout
Pattern Description
%N Specifies a minimum width of N for the output. N is an integer. If the output is less than the minimum width, the
logger pads the output with spaces. Text is right‐justified.
For example, to specify a minimum width of 30 characters for the logging category, add %30c to the conversion pat‐
tern.
%-N Left‐justifies the output within the minimum width of N characters. N is an integer.
For example, to have the logging category left justified within a minimum width of 30 characters, add %-30c to the
conversion pattern.
The default output is right‐justified.
%.N Specifies a maximum width of N for the output. N is an integer.
For example, to have the logging category output have a maximum width of 30 characters, add %.30c to the conver‐
sion pattern. The logger truncates output from the beginning if it exceeds the maximum width.
%M.N Pads with spaces to the left if output is shorter than M characters. If output is longer than N characters, then the
logger truncates from the beginning.
%-M.N Pads with spaces to the right if output is shorter than M characters. If output is longer than N characters, then the
logger truncates from the beginning.
Procedure
1. In file config.xml, add an entry to the <registry> element for each cluster server that you want to log.
For example:
Next steps
If you edit file config.xml, you must rebuild and redeploy PolicyCenter for the changes to take effect. If you update
the logging configuration file, you must also reload this file before your changes take effect.
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
SystemToolsAPI.reloadLoggingConfig
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Result
The change in the logging level persists while the PolicyCenter application server is running only.
SystemToolsAPI.updatelogginglevel(logger,level)
Result
The change in the logging level persists while the PolicyCenter application server is running only.
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the Server Tools Set Log Level screen.
3. Select a logging level from the drop-down list.
4. Enter the new logging level for that category.
Result
The change in the logging level persists only while the PolicyCenter server is running.
Procedure
1. In the PolicyCenter Studio Project window, open file logging.properties for editing.
2. Add code similar to the following example to the file.
log4j.category.Server.Archiving.Graph=DEBUG,Console
Application Logging 37
Guidewire PolicyCenter 9.0.6 System Administration Guide
Procedure
1. In the PolicyCenter Studio Project window, open file logging.properties for editing.
2. Add code similar to the following example to the file.
log4j.category.Server.Archiving=INFO, ArchiveLog
log4j.appender.ArchiveLog.File=/tmp/gwlogs/PolicyCenter/logs/archivelog.log
log4j.appender.ArchiveLog=org.apache.log4j.RollingFileAppender
log4j.appender.ArchiveLog.encoding=UTF-8
log4j.appender.ArchiveLog.File=/tmp/gwlogs/PolicyCenter/ArchivedPolicyTerms.log
log4j.appender.ArchiveLog.MaxFileSize=1024KB
log4j.appender.ArchiveLog.MaxBackupIndex=10
log4j.appender.ArchiveLog.layout=org.apache.log4j.PatternLayout
log4j.appender.ArchiveLog.layout.ConversionPattern=
%-15.15X{server} %-8.24X{userID} %d{ISO8601} %p %m%n
Server Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
chapter 3
File Description
config.xml File config.xml contains global system parameters that you use to control the behavior of Guidewire
PolicyCenter. These configuration parameters govern large‐scale system options, such as authentication, serv‐
er clustering, and the business calendar. You access file config.xml in Guidewire Studio under configura-
tion→config.
database- File database-config.xml stores database connection information and Data Definition Language (DDL) op‐
config.xml tions. You access file database-config.xml in Guidewire Studio under configuration→config.
See also
For more information on file config.xml and basic application configuration, see the following:
• “Configuration” on page 330
• Configuration Guide
For more information on file database-config.xml and basic database configuration options, see the following:
• “Database Configuration” on page 205
• “Database Maintenance” on page 237
• Installation Guide
It is possible to specify environment property values either through JVM (Java Virtual Machine) options or through
the <registry> element:
• You define environment properties in the <registry> element in file config.xml.
• You set JVM options through command line options as you to start a PolicyCenter server.
Depending on how many PolicyCenter servers your environment requires, you might find it necessary to adjust the
environment properties significantly. You can use environment properties together with configuration file
config.xml to specify and control one or multiple PolicyCenter server environments.
See also
• “Important PolicyCenter Server Configuration Files” on page 41
• “Understanding the Configuration Registry Element” on page 42
• “JVM Options and Server Properties” on page 46
• “Configuration Parameters by Environment” on page 49
• Installation Guide
See also
• “The Configuration Registry Element” on page 42
• “Example Syntax for Registry Server Element” on page 44
• “Assigning Server Roles to PolicyCenter Cluster Servers” on page 45
• “Defining a New Server Role” on page 46
File config.xml contains exactly one required <registry> element. The <registry> element can contain zero to
many <server> and <systemproperty> elements.
The attributes on the various elements have the following meanings.
Notice that:
• The set of valid server roles includes a custom role (custom1).
• The <server> elements define three separate server instances in the production environment, each of which has
specific server roles.
• There is a single server instance in the test environment that has all server roles.
• There are two system property redefinitions, one for env and one for serverid.
Property serverid.noroles
In standard usage, the value of property serverid includes also the list of server roles defined for that server. If you
want to use this property in code, without the list of server roles, use serverid.noroles instead. For example,
instead of using gw.pc.serverid, use gw.pc.serverid.noroles to suppress the list of server roles associated with
this server ID.
See also
• “Server Roles” on page 139
<registry roles="…">
<server env="production" serverid="prodserver" roles="batch, messaging, workqueue" />
</registry>
Tomcat -Dgw.pc.env=…
-Dgw.pc.serverid=…
If you are starting the Jetty development server in Guidewire Studio™ for PolicyCenter, use the syntax for Tomcat
in the Run - Server configuration dialog, for example:
-Dgw.pc.serverid=testServer
For more information, see “Start the Application Server from Guidewire Studio for PolicyCenter” on page 52.
See also
• “Understanding the Configuration Registry Element” on page 42
• “JVM Options and Server Properties” on page 46
• “Cluster Members and Components” on page 356
44 chapter 3: PolicyCenter Server Configuration
Guidewire PolicyCenter 9.0.6 System Administration Guide
Then, at server startup, you specify a -Denv="test" JVM option. PolicyCenter ignores any -Denv option that you
specify on the command prompt and sets the env value to standalone.
See also
• “Understanding the Configuration Registry Element” on page 42
• “JVM Options and Server Properties” on page 46
prodserver2 ui
The <registry> element in config.xml defines these servers and server roles as follows:
To add a specialized server role, say, one to use in managing activities, you need merely to add the new server role
to the list of roles:
See also
• “Defining a New Work Queue Role” on page 95
See also
If you use a JVM option to set the server environment, PolicyCenter converts the provided string to lower case
automatically. For example, the conversion to lower case occurs if you use the following JVM options:
• Jetty - -Denv
• Tomcat - -Dgw.pc.env
Thus, if you enter -Dgw.pc.env=TEST, PolicyCenter converts the string TEST to the string test. Be aware that the
automatic conversion of the env string to lower case can cause a referenced env value to not match the defined
environment name.
It is possible to use the -Denv and the -Dgw.passthrough JVM options with some, but not all, of the gwb build
commands. The following table indicates whether the listed JVM command options work with the core gwb
commands (tasks).
Core task Can use JVM option Cannot use JVM option
clean •
cleanIdea •
codegen •
compile •
dropDb •
genDataDictionary •
idea •
runServer •
stopServer •
studio •
PolicyCenter Server Configuration 47
Guidewire PolicyCenter 9.0.6 System Administration Guide
Then, to make the dropDB command specific to a test environment, use the following command (for a Jetty server).
See also
• “Setting JVM Options in PolicyCenter” on page 48
-Dgw.server.mode=xxxx Starts the PolicyCenter server in the specified server mode. Valid values are:
• dev
• prod
The default is dev.
-Dserverid=aaaa Sets the server ID, and possibly, one or more server roles for the PolicyCenter server:
-Dserverid=aaaa#bbbb • Server ID – Without the hash mark (#), aaaa represents a server ID only.
• Server role – With the hash mark, #bbbb assigns the bbbb server role to the server with aaaa
server ID. Use a comma‐separated list, with no spaces, to list multiple server roles.
The exact JVM syntax to use depends on the server type, for example:
• Quickstart (Jetty) – Use -Dserverid=aaaa
• Tomcat – Use -Dgw.pc.serverid=aaaa
See also
• “Assigning Server Roles to PolicyCenter Cluster Servers” on page 45
• “Setting JVM Options in PolicyCenter” on page 48
Tomcat Set the options using the CATALINA_OPTS environment variable. Use the following syntax:
-Dgw.pc.env=…
-Dgw.pc.serverid=…
See also
• “JVM Options for gwb Build Commands” on page 47
• “JVM Options Specific to the runServer Build Command” on page 48
Then, you can have PolicyCenter use the environment-specific parameter by specifying the environment in JVM
options at server startup. Continuing the example, to have BusinessDayStart resolve to 7:00 a.m., specify the test
environment in your JVM options:
However, if PolicyCenter resolves serverid to dev1, PolicyCenter sets BusinessDayStart to the 9:00 a.m. value.
If you define environment-specific parameters, PolicyCenter applies the setting if either the env or server resolves
to a known value. For example, suppose that you specify the BusinessDayStart parameter as follows:
PolicyCenter sets BusinessDayStart to 9:00 a.m. if either env resolves to test or serverid resolves to
prodserver. Thus:
• If PolicyCenter resolves env to test and serverid to chicago, the BusinessDayStart is 9:00 a.m.
• Similarly, if PolicyCenter resolves env to production and serverid to prodserver, the BusinessDayStart is
also 9:00 a.m.
• If env does not resolve to test and server does not resolve to prodserver, PolicyCenter uses the default
BusinessDayStart of 8:00 a.m.
For a list of configuration parameters, including information about which parameters can be set by environment, see
the Configuration Guide.
See also
• “Understanding the Configuration Registry Element” on page 42
• “JVM Options and Server Properties” on page 46
attribute to assure the parameter always resolves to some value. In the following example, the last line always
resolves to a known value if the other two parameter lines do not resolve:
The last line setting in this example acts as the default value for the parameter. Of course, you might want the server
to start only if a certain environment is available. In this case, a default is inappropriate.
See also
• “Understanding the Configuration Registry Element” on page 42
• “Configuration Parameters by Environment” on page 49
• “JVM Options and Server Properties” on page 46
This topic discusses the PolicyCenter server, run levels, modes, monitoring servers, and server caching.
Procedure
1. Open a command prompt and navigate to the root of PolicyCenter application directory.
2. Run the following command to compile the needed application resources and move them to the correct
location in the application server:
gwb compile
There is a dependency between the runServer command and the compile command. Guidewire recommends
that you always use the -x compile option with the runServer command to remove that dependency after
you initially run the compile command. Otherwise, PolicyCenter must first verify what resources, if any, need
to be recompiled, then perform an incremental recompile of those resources before starting the server.
See also
• “JVM Options Specific to the runServer Build Command” on page 48
• Installation Guide
Procedure
1. Navigate to the following location in Guidewire Studio™ for PolicyCenter, using the menu bar at the top of
the screen:
Run→Run...
Studio opens a Run drop-down with a list of server-related options.
2. Select Edit Configurations.. from the list.
Studio opens the Run - Server dialog.
3. Select Server in the left-hand navigation pane and verify the configuration options set for the server.
It is possible to modify the base configuration server settings by adding additional VM options. If you do so,
use the following format (using server ID an example):
-Dgw.pc.serverid=testServer
4. Click Run.
Studio opens a pane at the bottom of the screen to display the server log. This area also has controls (icons) for
stopping and starting the server.
Stopping GuidewirePolicyCenter
Before you stop Guidewire PolicyCenter, you must stop all work queues. Distributed workers run on daemon
threads. As the JVM (Java Virtual Machine) exits, it destroys these threads. This can cause issues if the JVM
destroys a thread while that thread is processing a work item. For example, suppose that a work queue calls a plugin
that makes a blocking call to an external system or otherwise take a long time to return. In that case, if you do not
shut down the work queue threads correctly, it is possible to end up with inconsistent data.
gwb stopServer
See also
Server Modes
Server mode determines what functionality is available at various server run levels. All PolicyCenter server types,
except for QuickStart, can run in any of the following server modes:
• Development
• Test
• Production
PolicyCenter starts in production mode on all supported servers by default, except for the QuickStart server.
PolicyCenter on the QuickStart server always runs in development mode. You cannot run PolicyCenter on the
QuickStart server in production or test mode.
See also
See also
-DserverMode={dev|prod|test}
To change the mode of a running server, restart the server and set the -DserverMode parameter to dev, test or prod.
PolicyCenter ignores this parameter on the QuickStart server.
54 chapter 4: PolicyCenter Server Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
2 SHUTDOWN —
3 NODAEMONS maintenance
4 DAEMONS daemons
5 MULTIUSER multiuser
The following list describes each type of server run level in more detail.
Type Description
QuickStart run Set at QuickStart server start using the following command, with n being a specific run level number:
level gwb runServer --run-level n
See “Set the QuickStart Run Level at Server Start” on page 57.
Server run level Shown in the server log. The server starts at level 0 and proceeds to move through each server run level in
the sequence until arriving at the requested run level.
System run level Set through command prompt system_tools options, for example:
system_tools -maintenance
See “System Tools Command” on page 393 for details.
Server run levels are independent of the server mode. The combination of mode and run level determines the
availability of functionality, such as the user interface and web services.
See also
• “Server Modes” on page 53
• “Server Modes and Server Run Levels” on page 56
• “Place the Server in Maintenance Mode” on page 59
• Installation Guide
PolicyCenter Server Administration 55
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Server Run Levels” on page 55
• “Server Modes and Server Run Levels” on page 56
• “System Tools Command” on page 393
• Integration Guide
The value of n is the numeric value of the run level as defined in “Server Run Levels” on page 55.
admin/bin
You must supply the username (user) and password (password) for a user with administrative privileges on
the PolicyCenter server. The run level is a value as defined in “Server Run Levels” on page 55.
SystemToolsAPI.setRunLevel
Next steps
If you run PolicyCenter in a clustered environment, you cannot place all the computers in a particular run level with
a single method call. Instead, you must call the method individually on each cluster member.
The returned message indicates the server run level. The possible responses are:
• MULTIUSER
• DAEMONS
• MAINTENANCE
• STARTING
See also
• “Server Run Levels” on page 55
admin/bin
You must supply the username (user) and password (password) for a user with administrative privileges on
the PolicyCenter server.
SystemToolsAPI.getRunLevel
See also
• Integration Guide
PolicyCenter still allows connections made through APIs or command prompt tools for any daemons with a
minimum run level equal or lower than NODAEMONS. Restricting the run level permits integration processes to
proceed without interference from non-administrator users.
See also
• “Server Run Levels” on page 55
• “Set the QuickStart Run Level at Server Start” on page 57
• “Set the Server Run Level Through System Tools” on page 57
• “Set the Server Run Level Through Web Services” on page 57
admin/bin
You must supply the username (user) and password (password) for a user with administrative privileges on
the PolicyCenter server.
See also
• “Monitoring Server Status with WebSphere” on page 59
• “Monitoring Cluster Health” on page 151
• Documentation specific to the application server
• Installation Guide
destination objects that provide the means for passing information between PolicyCenter and a particular
destination. Rule writers can write Gosu rules to generate messages in response to events of interest. PolicyCenter
queues these messages and dispatches them to receiving systems by using the destination objects.
Guidewire recommends that you monitor message traffic to verify that the integration is running smoothly.
See also
• For more information about messages, including how to create message destination objects, see the Integration
Guide.
See also
• “Message Queues Screen” on page 61
• “Messaging Tools Command” on page 391
Messages Screen
Use the PolicyCenter Messages screen to review information about messages. An administrator can access the
Messages screen in PolicyCenter by using the following navigation path:
Administration→Monitoring→Messages
You can search and filter message by any of the following:
• Destination
• Transaction Type
• Transaction Number
• Product
• Policy Number
• Account Number
• Message Status – For each status, the corresponding status is:
◦ Failed messages – MessageStatus.ERROR_STATES
◦ Messages needing retry – MessageStatus.RETRYABLE_STATES
◦ Unfinished messages – Messages that do not fall into ERROR_STATES or RETYRABLE_STATES
The messages in Results have the following information:
• Transaction Number
• Transaction Type
• Policy Number
• Product
60 chapter 4: PolicyCenter Server Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Integration Guide
Suspend
Click to suspend the operation of the selected message destination.
Resume
Click to resume the operation of the selected message destination if that destination is in a state of suspension.
Restart
Click to restart the operation of a selected message destination.
You can also restart messaging by clicking Restart Messaging Engine.
If a message destination is running correctly, you do not see any accumulation of information in the columns on this
screen. If there is a problem and messages begin to accumulate, you can drill down into a message destination by
clicking the destination name. This action opens a Destination screen. From the Destination screen, you can see
additional detail about any issues with a destination. This information can assist you in diagnosing the error. In
particular, you can use the Error Message column to see the possible cause of a particular issue.
Destination Screen
The Destination screen lists all failed or in-process messages for an account for all destinations. You can search for a
particular account and then open the account’s detail view. From this screen, you can select one or more objects and
instruct PolicyCenter to skip, retry, or re-synchronize any message that is still in process or in a failed state.
The Detailed Statistics table column headers have the following meanings.
It is possible to filter the messages that show in the table by selecting a filtering characteristic from the filtering
drop-down list.
Message Handling
A PolicyCenter server reads integration messages from a queue and dispatches them to their destinations. However,
there is no guarantee that messages in the queue are ready for dispatching in the same order in which PolicyCenter
places the messages in the queue.
For example, suppose that a messaging server starts writing message 1 to the queue, and then starts writing message
2 to the same queue. It is possible that the server completes and commits message 2 while still writing message 1.
This does not, in itself, present an issue. However, if the server attempts to read messages off the queue at this
moment, then it skips the uncommitted message1 and reads message 2. You are most likely to encounter this
situation in a clustered PolicyCenter environment.
To address this situation, PolicyCenter provides the IncrementalReaderSafetyMarginMillis parameter in file
config.xml. This parameter determines how long after detecting a skipped message that PolicyCenter attempts to
read messages again. This waiting period gives PolicyCenter a chance to commit the skipped message. If it is not
possible to commit the message before the expiration of the waiting period:
• PolicyCenter assumes the message is lost and that it is not possible to commit the message.
• PolicyCenter skips the message permanently, thereafter.
For example, in the previous scenario, PolicyCenter waits 10 seconds (the default parameter value) before
attempting to read messages again, beginning with the skipped message 1. If message 1 has still not been committed
at that time, PolicyCenter skips it permanently.
Set the IncrementalReaderSafetyMarginMillis parameter sufficiently long so that the server can commit the
messages, but without prematurely marking messages as permanently skipped. As the server does not read any other
messages during this waiting period, do not set IncrementalReaderSafetyMarginMillis so long as to delay the
delivery of messages.
You can also set the following configuration parameters in config.xml to configure the messages reading
environment:
• IncrementalReaderPollIntervalMillis
• IncrementalReaderChunkSize
Procedure
1. In the PolicyCenter Studio Project window, navigate to configuration→config→Messaging.
2. Double-click file messaging-config.xml to open the file in the Studio Messaging editor.
See also
• Configuration Guide
62 chapter 4: PolicyCenter Server Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
If PolicyCenter sends an event message, the expected response from the destination is a positive acknowledgment
(ACK) indicating that the destination received and processed the message. PolicyCenter retains completed messages
until you purge them. Because the number of messages in PolicyCenter can become very large, Guidewire
recommends that you purge completed messages on a regular basis.
Procedure
admin/bin
For example, the following command purges all completed messages received prior to 11/30/18.
You must supply the username (user) and password (password) for a user with administrative privileges.
Session Timeout
PolicyCenter creates a session for each browser connection. PolicyCenter uses the server’s session management
capability to manage the session. Each individual session receives a security token that the PolicyCenter server
preserves across multiple requests. The server validates each token against an internal store of valid tokens.
You configure the timeout value for a session by setting the SessionTimeoutSecs parameter in config.xml. This
value sets the session expiration timeout globally for all PolicyCenter browser sessions.
Typically, the server determines the session timeout value according to the following hierarchy.
Level Description
Server The session timeout to use for all applications on the server if the timeout value is not set at a higher level.
Enterprise ap‐ The session timeout specified at the enterprise application level. You can specify this value at the EAR file
plication level. You can set the enterprise application session timeout value to override the server session timeout val‐
ue.
Web applica‐ The session timeout specified at the web application level. You can specify this value at the WAR file level.You
tion can set the web application session timeout value to override the enterprise application and server session
timeout values.
Application The session timeout specified in the application web.xml file. PolicyCenter does not specify a session time‐
level out in web.xml.
Application An application can override any other session timeout value. PolicyCenter uses the session timeout value
code specified by the SessionTimeoutSecs parameter in config.xml.
See also
• Configuration Guide
PolicyCenter Server Administration 63
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Planning a PolicyCenter Cluster” on page 147
• Installation Guide
Cache Management
Objects do not remain forever present or valid in the PolicyCenter database cache. Guidewire provides several
caching mechanisms to verify that cache entries are still relevant. They are:
• Stale timeout
• Eviction timeout
• Cluster member object tracking
Stale Timeout
A stale timeout mechanism ensures that the server instance does not use old object entries excessively. An object is
stale if it has not been refreshed from the database within a configurable amount of time. Upon accessing a cache
entry, the server instance calculates the duration since the object was last read from the database. If that duration
exceeds the stale time, the server instance refreshes the cache entry from the database.
To avoid increased complexity, PolicyCenter prefers this mechanism over evicting objects upon stale timeout. You
can set a default stale time by adjusting the GlobalCacheStaleTimeMinutes parameter in config.xml.
Eviction Timeout
A PolicyCenter evict timeout mechanism removes old objects from the cache. For example, an object has an evict
time of 15 minutes and a stale time of 30 minutes. If the server uses the object a single time every 14 minutes,
PolicyCenter never evicts the cache entry, but the entry does eventually become stale.
You can set the default evict time by adjusting the GlobalCacheReapingTimeMinutes parameter in config.xml. In
the base configuration Guidewire sets the value of GlobalCacheReapingTimeMinutes to 15 minutes. The minimum
value for this parameter is 1 minute. The effective maximum value for parameter
GlobalCacheReapingTimeMinutes is the lesser of its set value or the value of GlobalCacheStaleTimeMinutes
parameter.
See also
• “Guidewire PolicyCenter Cluster Installations” on page 132
• “Cache Info” on page 367
• Configuration Guide
Cache content is lost every time that you stop a PolicyCenter server. Therefore, after you start a PolicyCenter server,
expect lower performance during a ramp-up phase.
Batch processes leverage the cache mechanism. Batch jobs can work on many objects. Therefore, batch jobs can use
the cache extensively. This can have the adverse effect of prematurely evicting objects from the cache, thereby
forcing additional cache loads. If you run many intensive batch processes, Guidewire recommends that you have a
dedicated server with the batch role with no online traffic directed to it.
See also
• “Server Cache Tuning Parameters” on page 67
Cache Thrashing
Cache thrashing is a phenomenon whereby evictions remove cache entries prematurely and force additional database
reloads that are detrimental to performance. There are several cases that can lead to cache thrashing:
• A single data set can be too large to reside in the global cache. This forces the server to load the same data from
the database and subsequently evict the data, potentially thousands of times, while loading a single web page.
This results in serious performance issues.
• Some concurrent actions result in thrashing. For example, a user logs onto a server that has the batch server role.
A batch job, which can load many objects into the cache, can remove objects from the cache. This forces the
server to reload the cache as the user again needs those objects. For this reason, Guidewire recommends that you
have separate servers for handling batch processing and user interface transactions.
If an individual cache reports hundreds or thousands of evictions and a low cache hit rate, then that cache is
experiencing cache thrashing. If you notice cache thrashing on a server that is not processing batch jobs, re-size the
cache. Otherwise, dedicate the server to batch jobs.
See also
• “Detect Cache Thrashing” on page 66.
Next steps
After you have taken the proper action, repeat the analysis to verify that the change yielded the results you expected
to occur.
See also
• “Cache Thrashing” on page 66.
Larger caches increase memory starvation issues. Larger caches expand the memory footprint of the application.
Performance decreases as garbage collection becomes more frequent and analyzes more objects.
Set the cache as large as needed, but no larger. Monitor garbage collection to extrapolate memory usage patterns and
garbage collection statistics.
See also
• “Server Cache Tuning Parameters” on page 67.
• “Server Memory Management” on page 69
Parameter Description
ExchangeRatesRefreshIntervalSecs The number of seconds between refreshes of the exchange rates cache.
PolicyCenter uses this specialized cache for exchange rates only.
GlobalCacheActiveTimeMinutes Time, in minutes, that PolicyCenter considers cached objects active. You can think
of this as a period in which PolicyCenter is heavily using an item, for example, how
long a user stays on a screen. The cache mechanism gives higher priority to pre‐
serving these higher‐use objects.
Set GlobalCacheActiveTimeMinutes to a value less than
GlobalCacheReapingTimeMinutes.
GlobalCacheDetailedStats Boolean value that specifies whether to collect detailed statistics for the global
cache. Detailed statistics are data that PolicyCenter collects to explain why the
caching mechanism evicted items from the cache. PolicyCenter collects basic sta‐
tistics, such as the miss ratio, regardless of the value of
GlobalCacheDetailedStats. Disabling collection of detailed cache statistics can
sometimes improve performance.
Guidewire sets the value of GlobalCacheDetailedStats to false by default. Set
the parameter to true to help tune your cache.
If the GlobalCacheDetailedStats parameter is set to false, the Cache Info screen
does not include the Evict Information and Type of Cache Misses graphs.
At runtime, use the Management Beans screen to enable the collection of detailed
statistics for the global cache.
GlobalCacheReapingTimeMinutes Time, in minutes, since the last use of a cached object before PolicyCenter consid‐
ers the object eligible for reaping. This can be thought of as the period during
which PolicyCenter is most likely to reuse an object.
An evict timeout mechanism removes old objects from the cache. Once per mi‐
nute, a thread evicts cache entries that have not been used for a period equal to
or greater than GlobalCacheReapingTimeMinutes. This mechanism differs from
the stale timeout mechanism. The stale timeout mechanism refreshes from the
database those cache entries that have exceeded the stale time. This process oc‐
curs as the server accesses a cached object. The evict timeout mechanism deletes
any cache entries that are older than the default evict time. An object can become
stale but not evicted if it is continually in use. For example, a bean has an evict
time of 15 minutes and a stale time of 30 minutes. If the server uses the object
once every 14 minutes, PolicyCenter never evicts the cache entry, but the entry
does eventually become stale.
GlobalCacheReapingTimeMinutes is initially set to 15 minutes. The minimum val‐
ue for this parameter is 1 minute. Since the eviction thread only runs once per mi‐
nute, a smaller value would not make sense. The maximum value for this parame‐
ter is 15 minutes.
GroupCacheRefreshIntervalSecs The number of seconds between refreshes of the groups cache. PolicyCenter uses
this specialized cache for group‐related data only.
Parameter Description
GlobalCacheSizeMegabytes Maximum amount of heap space used to store cached entities, expressed as a
number of megabytes. This parameter supersedes the value of
GlobalCacheSizePercent.
At runtime, you can use the Cache Info or Management Beans screen to modify this
value.
GlobalCacheSizePercent Maximum amount of heap space used to store cached entities, expressed as a per‐
centage of the maximum heap size.
GlobalCacheStaleTimeMinutes Time, in minutes, after which PolicyCenter considers an object in the cache stale if
it has not been refreshed from the database.
A stale timeout mechanism ensures that the server does not use excessively old
object entries. An object is stale if it has not been refreshed from the database
within a configurable amount of time. Upon accessing a cache entry, the server
calculates the duration since the object was last read from the database. If that
duration exceeds the stale time, the server refreshes the cache entry from the da‐
tabase. To avoid increased complexity, PolicyCenter prefers this mechanism over
evicting objects upon stale timeout.
At runtime, you can use the Cache Info or Management Beans screen to modify this
value.
GlobalCacheStatsWindowMinutes This parameter denotes a period of time, in minutes, that PolicyCenter uses for
two purposes:
• The period of time to preserve the reason that PolicyCenter evicted an object,
after the event occurred. If a cache miss occurs, PolicyCenter reports the
reason on the Cache Info screen.
• The period of time to display statistics on the chart on the Cache Info screen.
ScriptParametersRefreshIntervalSecs The number of seconds between refreshes of the script parameters cache.
PolicyCenter uses this specialized cache for script parameters only.
ZoneCacheRefreshIntervalSecs The number of seconds between refreshes of the zones cache. PolicyCenter uses
this specialized cache for zones only.
See also
See also
• For information on how to view cache performance, see “Cache Info” on page 367.
68 chapter 4: PolicyCenter Server Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
Group GroupCacheRefreshIntervalSecs
ScriptParameter ScriptParametersRefreshIntervalSecs
Zone ZoneCacheRefreshIntervalSecs
See also
• “Server Cache Tuning Parameters” on page 67.
• Configuration Guide
serverName 2016-04-09 16:44:14,423 INFO Memory usage: 80.250 MB used, 173.811 MB free, 254.062 MB total,
2048.000 MB max
The following list describes the different types of information that you see in a memory logging message.
It is common for a server to use up the maximum amount of memory fairly quickly, so that used and total are at or
near the max value. This indicates normal operation. If the server needs more memory, it triggers garbage collection
to free up the memory used by stale objects.
See also
• “Enabling Garbage Collection” on page 70
• “Understanding Possible Memory Leak” on page 71
See also
• “Enabling Verbose Garbage Collection for IBM JVM” on page 70
• “Enabling Verbose Garbage Collection for Oracle Java Hotspot VM” on page 71
The tool provides some tuning recommendations. The recommendations work more for the IBM JDK than the
HotSpot JDK. Additionally, the tool provides graphs with hints on JVM behavior that help identify issues such as
memory shortages or excessive pauses.
Refer to the following web site for more information about the IBM Support Assistant:
http://www.ibm.com/software/support/isa/
Related information
IBM Developer Kit and Runtim Environment - Diagnostics Guide
Related information
Troubleshooting Guide for Java SE 6 with HotSpot VM
• Heap dump analysis tools generally point to the CacheImpl class as the largest memory consumer. This class
corresponds to the Guidewire cache. It is normal that the cache consumes a few hundred megabytes. In this case,
the memory issue is likely not caused by cache growth. If the cache consumes significantly more memory, you
might need to be downsize the cache. See .
Related information
IBM Support Assistant
IBM DTJF feature for Eclipse Memory Analyzer
Related information
Using JConsole to Monitor Applications
Java Heap Analysis Tool
Java VisualVM
JVM Profiling
Java profilers are available for two main purposes:
PolicyCenter Server Administration 73
Guidewire PolicyCenter 9.0.6 System Administration Guide
Memory profil‐ Identifies memory usage, and, more specifically, memory leaks due to referenced but unused objects.
ing
CPU profiling Helps identify programmatic hot spots and bottlenecks. This analysis might help remove the corresponding
bottlenecks, thereby increasing performance.
Guidewire has used two profiling tools internally and found each to be of good quality. Both tools provide both
memory and CPU profiling:
• Guidewire recommends YourKit for memory profiling.
• Guidewire recommends JProfiler for CPU profiling.
To profile PolicyCenter, load the profiler agent into the PolicyCenter JVM either as it is starting PolicyCenter or by
attaching the profiler agent to a running JVM. Refer to the profiler documentation for instructions.
Geocoding
Geocoding is the process of assigning a latitude and longitude to an address. Guidewire supports geocoding in
ClaimCenter, PolicyCenter, and ContactManager.
Understanding Geocoding
The geocoding process assigns latitudes and longitudes to addresses. Software then uses geocoded addresses to
present users with geographic information, such as the distance between two addresses. All primary addresses in
PolicyCenter, PolicyCenter, and ContactManager are candidates for geocoding.
Geocoding 75
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Integration Guide
Related references
“Geocode Writer Work Queue” on page 108
Related information
Bing Maps Dev Center
Configuring Geocoding
Configuring geocoding involves the following tasks:
• Enabling your implementation of the GeocodePlugin plugin
• Setting geocoding feature parameters
• Scheduling the Geocode work queue
• Configuring the number of Geocode batch processing workers
IMPORTANT Schedule geocode batch processing for PolicyCenter and ContactManager with
sufficient processing windows between runs to assure sufficient time for runs to fully process the work
items in the work queues. If you find duplicate work items in the work queues for the same address
ID, extend the interval between runs.
See also
• “Understanding Geocoding” on page 75
Parameter Description
UseGeocodingInPrimaryApp If true, PolicyCenter enables searching for nearby locations in the Rein‐
surance Management user interface. ContactManager does not respond
to this parameter.
The default is false.
UseMetricDistancesByDefault If true, PolicyCenter uses kilometers and metric distances instead of miles
and United States distances for location searches.
Set this parameter identically in Guidewire applications that use geocod‐
ing.
The default is false.
ProximitySearchOrdinalMaxDistance The maximum distance to use while performing an ordinal (nearest n
items) proximity search for locations. This distance is in miles, unless
UseMetricDistancesByDefault is true.
The default is 300.
ProximityRadiusSearchDefaultMaxResultCount The maximum number of results to return if performing a radius (within n
miles or kilometers) proximity search. This parameter has no effect on or‐
dinal (nearest n items) proximity searches.
The default is 1000.
applicationKey The application key that you obtained from Bing Maps.
geocodeDirec- The locale for geocoded addresses and routing instructions returned from Bing Maps. For example, use
tionsCulture the locale code ja-JP for addresses and instructions for Japan. The plugin uses en-US if you do not
specify a value. For a current list of codes that Bing Maps supports, refer to the following web site
http://msdn.microsoft.com/en-us/library/cc981048.aspx
imageryCulture The language for map imagery. For example, use the language code ja for maps labeled in Japanese.
The plugin uses en if you do not specify a value. For a current list of codes that Bing Maps supports,
refer to the following web site
http://msdn.microsoft.com/en-us/library/cc981048.aspx
mapUrlHeight Height of maps, in pixels. The plugin uses 500 if you do not specify a value.
mapUrlWidth Width of maps, in pixels. The plugin uses 500 if you do not specify a value.
See also
• Integration Guide
Procedure
1. In Guidewire Studio, navigate to configuration→config→scheduler and open scheduler-config.xml for
editing.
2. Uncomment the following section in scheduler-config.xml file.
<ProcessSchedule process="Geocode">
<CronSchedule hours="1" minutes="30"/>
</ProcessSchedule>
See also
• “The Work Queue Scheduler” on page 89
• “Understanding a Work Queue Schedule Specification” on page 89
<work-queue workQueueClass="com.guidewire.pc.domain.geodata.geocode.PCGeocodeWorkQueue"
progressinterval="600000">
<worker instances="1"/>
</work-queue>
See also
• “Worker Configuration” on page 94
• “Database Statistics Work Queue” on page 105
Geocoding 79
Guidewire PolicyCenter 9.0.6 System Administration Guide
80 chapter 5: Geocoding
chapter 6
PolicyCenter provides tools for configuring and managing various forms of batch processing. You can schedule
batch processing to run regularly or on demand.
See also
• “Batch Process Info” on page 321
• “Work Queue Info” on page 324
• Integration Guide
Work queue
A work queue operates on a batch of items in parallel. PolicyCenter distributes work queues across all servers in a
PolicyCenter cluster that have the appropriate role. In the base configuration, Guidewire assigns this functionality to
the workqueue server role.
A work queue comprises the following components:
• A processing thread, known as a writer, that selects a group (batch) of business records to process. For each
business record (a policy record, for example), the writer creates an associated work item.
• A queue of selected work items.
• One or more tasks, known as workers, that process the individual work items to completion. Each worker is a
short-lived task that exists in a thread pool. Each work queue on a cluster member shares the same thread pool.
By default, each work queue starts a single worker on each server with the appropriate role, unless configured
otherwise.
Work queues are suitable for high volume batch processing that requires the parallel processing of items to achieve
an acceptable throughput rate.
Batch process
A batch process operates on a batch of items sequentially. Batch processes are suitable for low volume batch
processing that achieves an acceptable throughput rate as the batch process processes items in sequence. For
example, writers for work queues operate as batch processes because they can select items for a batch and write
them to their work queues relatively quickly.
Administering Batch Processing 81
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Server Roles” on page 139
• “Work Queues” on page 82
• “Batch Processes” on page 85
• Integration Guide
Work Queues
A work queue comprises the following components.
Writer A writer thread selects units of work for batch processing and writes their identities to a work queue.
Work A work queue is a database table that the writer loads with a batch of work items and from which workers check
queue out work items for processing.
Worker One or more worker tasks that check out work items from the work queue and process them to completion. By
default, each work queue starts a single worker on each cluster member with the workqueue role, unless config‐
ured otherwise.
Starting the writer initiates a run of batch processing on a work queue. The batch is complete if the workers exhaust
the queue of all work items, except those that they failed to process successfully.
YES
Server A Server C
Server B
C C
A B
YES
Workers
Table empty?
After it checks out a quota of work items, the worker task processes them sequentially. Whenever a worker
completes a work item successfully, it deletes the item from the table and begins to process the next item. The
standard work item table (StandardWorkQueue) is retireable, so successfully completed work items remain in the
table for historical reference.
Note: In rare cases, it is possible for PolicyCenter to notify a worker of work, but, the worker finds no
work is available after it awakens. For example, for small batch runs, a worker can check out all items
in the batch with its first check out quota of items. This action can occur between the time the writer
notifies the workers and other workers awaken. If a worker awakens and finds no work items, the
worker goes back to sleep.
You can view and manage work queues from the Server Tools Work Queue Info screen in PolicyCenter, if you have
the appropriate administrative privilege.
See also
• “The Work Queue Scheduler” on page 89
• “Performing Custom Actions After Batch Processing Completion” on page 96
• “Work Queue Info” on page 324
Batch Processes
PolicyCenter distributes batch processes across all PolicyCenter cluster members that have the batch server role.
Each server with the batch role also has a batch process lease manager that acquires and manages the batch process
leases on that server. In this context, a lease represents a single run of a single batch process.
Available servers with the batch role compete for available batch processing leases. After a server acquires a lease,
that server runs the batch process to completion.
How aggressively the cluster servers compete with each other depends on how many batch processes each one is
individually already running. Those servers running fewer or no batch processes are more likely to acquire a new
batch process lease than other servers already busy running processes. It is possible to configure this behavior.
For scheduled batch processes, a scheduler component, running on a cluster member with the scheduler role,
decides to start a batch process according to the published schedule. The scheduler first creates a new lease for the
batch process in the database. All cluster members with the batch server role then compete to acquire that lease.
The cluster member that wins the competition starts the batch process.
See also
• “Working with Work Queue Writers and Batch Processes” on page 86
• “The Work Queue Scheduler” on page 89
• “Component Lease Management” on page 157
• “Batch Process Prioritization” on page 160
• “Batch Process Info” on page 321
The number of worker tasks is important if zero (0). Setting the number of worker tasks to 0 disables the work queue
as there are no workers to perform the work. To enable the work queue, set the number of workers to greater than
zero.
It is possible to run a writer for a work queue from the Server Tools Work Queue Info screen. PolicyCenter enables the
Run Writer button on this screen for all work queue types that belong to the BatchProcessTypeUsage category
UIRunnable.
To access the Work Queue Info screen, you must have the internaltools permission. The Admin role has this
permission by default. Alternatively, if the EnableInternalDebugTools parameter is set to true in config.xml and
the server is running in development mode, all users can access the Work Queue Info screen.
How to Run a Batch Process from the Batch Process Info Screen
It is possible to run batch processes from the Server Tools Batch Process Info screen in PolicyCenter. PolicyCenter
enables the Run button on this screen for all batch process types that belong to the BatchProcessTypeUsage
category UIRunnable.
To access the Batch Process Info screen, you must have the internaltools permission. The Admin role has this
permission by default. Alternatively, if the EnableInternalDebugTools parameter is set to true in config.xml and
the server is running in development mode, all users can access to the Batch Process Info screen.
It is possible to terminate some in-progress processes, including writers for work queues, from a command prompt.
To determine if it is possible to terminate an in-progress batch process, consult the reference topic for that particular
batch processing type. The information for each individual batch process includes whether it is a single phase or
multiphase process. You can only stop those processes listed as being multiphase.
Note: It is not possible to terminate a single phase batch process. Single phase processes run in a
single transaction. Thus, there is no convenient place to terminate the process.
See also
You must have the internaltools user permission to access the Work Queue Info screen.
86 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
Procedure
1. Log in to PolicyCenter.
2. Press ALT+SHIFT+T to display the Server Tools tab.
3. Navigate to Work Queue Info.
4. Click Run Writer in the Actions column of the work queue that you want to run.
Procedure
1. Log in to PolicyCenter.
2. Press ALT+SHIFT+T to display the Server Tools tab.
3. Navigate to Batch Process Info.
4. Click Run in the Action column of the batch process that you want to run.
Procedure
1. Start the PolicyCenter server if it is not already running.
2. Open a command prompt.
3. Navigate to the following location in the PolicyCenter installation directory:
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
For the process value, specify a valid process code. For the process code for each batch processing type,
including writers for work queues, consult the reference topic for the individual batch processing type.
See also
• “Work Queues and Batch Processes, a Reference” on page 98
Procedure
1. Start the PolicyCenter server if it is not already running.
2. Open a command prompt.
3. Navigate to the following location in the PolicyCenter installation directory:
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
For the process value, specify a valid process code. For the process code for each batch processing type,
including writers for work queues, consult the reference topic for the individual batch processing type.
See also
• “Work Queues and Batch Processes, a Reference” on page 98
Procedure
1. Start the PolicyCenter server if it is not already running.
2. Open a command prompt.
3. Navigate to the following location in the PolicyCenter installation directory:
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
For the process value, specify a valid process code. For the process code for each batch processing type,
including writers for work queues, consult the reference topic for the individual batch processing type.
Result
For work queues, executing this command returns the status of the writer process. The command does not check
whether any work items remain in the work queue. Thus, it is possible for the process status to report as being
complete after the writer finishes adding items to the work queue. However, it is possible that there are work items
that need processing that remain in the work queue.
88 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Work Queues and Batch Processes, a Reference” on page 98
The process attribute sets the process to run. The env attribute is an optional attribute that specifies the environment
in which the schedule definition for the process applies. The schedule_attributes value is a valid schedule
specification.
If needed, you can list multiple ProcessSchedule entries for the same process. The process then runs according to
each specified schedule. If you schedule a process to run while the same process is already running, then
PolicyCenter skips the overlapping process. If the scheduler-config.xml file does not list a process, then the
process does not run.
Generally, schedule the amount of time between batch process runs in hours as opposed to minutes. This is because
some batch processes require a lot of server resources. Schedule such processes to wake infrequently or at times that
the server is less busy, such as late at night or very early in the morning.
You may want to schedule some PolicyCenter batch processes to run periodically throughout the business day. For
example, the default configuration of PolicyCenter schedules the ActivityEsc batch process to run every 30
minutes. Exclude running such batch processes periodically during your nightly batch processing window. Instead,
wait until the end of the batch window to run them. For example, schedule the ActivityEsc batch process to run
every 30 minutes except during your nightly batch window. Alternatively, run such batch processes at prescribed
places in your chain of nightly batch process.
The PolicyCenter scheduler uses the PolicyCenter server time for reference.
See also
• “Understanding a Work Queue Schedule Specification” on page 89
<CronSchedule schedule_attributes/>
Use this element to define a schedule_attributes value to specify the exact timing, such as once every hour or
every night at a certain time. The schedule_attributes value is a combination of one or more of the following
attributes:
IMPORTANT If you do not provide a value for a defined schedule attribute, the scheduler uses its
default value in determining the work queue schedule. For example, if you do not specify a value for
the hours attribute, the scheduler assumes a value of * and PolicyCenter runs the work queue process
every hour. Thus, Guidewire recommends that you provide a value for each scheduler attribute. If you
do not provide a value for a specific attribute, carefully review that attribute's default value and
determine if the default value meets your business needs.
Charac‐ Meaning
ter
* Indicates all values. For example, minutes="*" means run the process every minute.
? Indicates no specific value. Used only for dayofmonth and dayofweek attributes. See the examples for clarification.
- Specifies ranges. For example, hour="6-8" specifies the hours 6, 7 and 8.
, Separates additional values. For example, dayofweek="MON,WED,FRI" means every Monday, Wednesday, and Fri‐
day.
/ Specifies increments. For example, minutes="0/15" means start at minute 0 and run every 15 minutes.
L Specifies the last day. Used only for dayofmonth and dayofweek attributes. See the examples for clarification.
W Specifies the nearest weekday, use only with dayofmonth. For example, if you specify 1W for dayofmonth, and that
day is a Saturday, the trigger then fires on Monday the 3rd. You can combine this with L to schedule a process for
the last weekday of the month by specifying dayofmonth="LW".
# Specifies the nth day of the week within a month. For example, a dayofweek value of 4#2 means the second Wed‐
nesday of the month (day 4 = Wednesday and #2 = the second Wednesday in the month).
These represent only some of the values that you can use for setting schedule.
Scheduler Examples
The following table lists a few examples of how to work with the <CronSchedule> element.
Example Description
<CronSchedule hours="10" /> Run every day at 10 a.m.
<CronSchedule hours="0" /> Run every night at midnight.
<CronSchedule minutes="15,45" /> Run at 15 and 45 minutes after every hour.
<CronSchedule minutes="0/5" /> Run every five minutes.
<CronSchedule hours="0" Run at midnight on the first day of the month.
dayofmonth="1" />
<CronSchedule hours="12" Run at noon every weekday (without regard to the day of the month).
dayofweek="MON-FRI" dayofmonth="?" />
Example Description
<CronSchedule hours="22" Run at 10 p.m. on the second‐to‐last day of every month.
dayofmonth="L-2" />
<CronSchedule minutes="3" Run 3 minutes after every other hour, 8:03 a.m. to 6:03 p.m., Monday through
hours="8-18/2" dayofweek="1-5" Friday.
dayofmonth="?"/>
<CronSchedule minutes="*/15" Run every 15 minutes after the hour, 12:15 a.m. to 8:45 a.m. and 6:15 p.m. to
hours="0-8,18-23"/> 11:45 p.m.
<CronSchedule hours="0" Run at midnight on the last Friday of the month.
dayofmonth="6L" />
Related information
Quartz Documentation
Procedure
1. Log into PolicyCenter as an administrative user.
2. Press ALT+SHIFT+T to access Server Tools.
3. Navigate to the Batch Process Info screen.
4. Select Schedulable from the processes drop-down filter.
PolicyCenter displays only those batch processes, including work queue writers, that it is possible to schedule
in file scheduler-config.xml.
Procedure
1. Log in to PolicyCenter as an administrative user.
2. Press ALT + SHIFT + T to access Server Tools.
3. Navigate to the Batch Process Info screen.
4. Click the Next Scheduled Run column header to sort processes by schedule.
If there is no current schedule for a process, the Next Scheduled Run field is blank.
Administering Batch Processing 91
Guidewire PolicyCenter 9.0.6 System Administration Guide
In this way, you can have different results for batch processing based on environment.
Workers and work queues work-queue.xml “The Work Queue Configuration File” on page 92
Work queue configuration parameters config-xml Configuration Guide
Note: The hash mark in front of workqueue (#workqueue) indicates that the value that follows the
hash mark is a server role and not a server ID.
Attribute defaultServer requires a value. There is no default. The PolicyCenter server refuses to start if you do not
provide a value for this attribute. The server also refuses to start if you set defaultServer to a role that does not
exist in <registry> element in config.xml.
The <work-queue> subelement has attributes to configure a named work queue in general. The <worker>
subelement has attributes to configure worker tasks on specific servers. You can declare as many workers as you
want for a work queue by specifying on which servers the workers run.
Access work-queue.xml in Guidewire Studio at the following location:
configuration→config →workqueue
See also
• “General Work Queue Configuration” on page 93
• “Worker Configuration” on page 94
Attribute Description
Required attributesdon't
progressinterval The progressinterval value is the amount of time, in milliseconds, that PolicyCenter
allots for a worker to process the number of batchsize work items. If the time a worker
has held a batch of items exceeds the value of progressinterval, then PolicyCenter con‐
siders the work items to be orphans. PolicyCenter reassigns orphaned work items to a
new worker instance. The progressinterval value must be greater than the time to
process the slowest work item, or that work item never completes.
Guidewire recommends that you set the progressinterval value greater than the proc‐
essing time for an entire batchsize of work items:
• If a worker takes more time than the time specified by progressinterval to
processes its assigned work items, PolicyCenter reverts the remaining work items to
available from checkedout.
• If many worker batches take longer than the time specified by progressinterval, the
repeated checking out and reverting to available of work items can have a negative
impact on performance.
workQueueClass (Required) The workQueueClass value must be one of the following:
• A Guidewire‐provided work queue class listed in the base configuration version of
work-queue.xml
• A custom work queue class derived from Gosu class WorkQueueBase
You cannot configure Guidewire‐provided batch processes or custom batch processes de‐
rived from the Gosu class BatchProcessBase.
Optional attributes
blockWorkersWhenWriterActive If the work queue workers start execution before the work queue writer completes writ‐
ing work items to the work queue, it can possibly cause performance issues under certain
circumstances.
If set to true, PolicyCenter blocks the work queue workers from acquiring new work
items until the writer completes writing work items to the queue. After the writer com‐
pletes writing any new work items, the workers automatically start acquiring work items
again.
The default is false. Only enable this attribute for the work queues for which you require
this capability. Guidewire recommends that you consider setting this attribute to true if
the work queue writer can run for extensive periods of time due to the work load gener‐
ated.
logRetryableCDCEsAtDebugLevel If the value of logRetryableCDCEsAtDebugLevel is set to true for a work queue,
PolicyCenter logs any retryable Concurrent Data Change Exception (CDCE) at the DEBUG
level. The log message includes a prepended string to indicate that the error is non‐fatal.
PolicyCenter logs any CDCE that pushes the retry count over the value of retryLimit, or
the value of workItemRetryLimit if retryLimit is not set, at the ERROR level.
Attribute Description
retryInterval How long in milliseconds to wait before retrying a work item that threw an exception. The
default value is 0, meaning PolicyCenter retries processing the item immediately.
retryLimit The number of times PolicyCenter retries a work item that threw an exception or that be‐
came an orphan for this work queue.
If you do not specify a retryLimit value for a work queue, PolicyCenter uses the value of
the WorkItemRetryLimit configuration parameter in config.xml as the default value.
IMPORTANT: Guidewire generally recommends that you increase, never decrease, the
number of retries for a work queue.
Worker Configuration
The use of the <worker> element in work-queue.xml is optional. However, in actual practice, it is necessary for
there to be at least one <worker> element for each <work-queue> element for the work queue to operate properly.
The <worker> element contains an instances attribute that has a default value of 1. Without a <worker> element to
provide this default, the processing logic does not allocate any workers for the work queue.
All of the following attributes are optional.
Attribute Description
instances The number of workers to create. By default, PolicyCenter sets the values of this attribute to 1.
If a worker wakes up and detects work items, it checks out those work items from the work queue. If
there are more work items than the value specified by the batchsize attribute, the worker starts another
worker. Each new worker checks out up to the maximum batchsize number of work items. If there are
more work items remaining, the new worker starts another worker. The creation of workers continues
until the number of workers reaches the maximum limit of workers as specified by the instances attrib‐
ute.
maxpollinterval How often a worker wakes up automatically and queries for work items, even if the worker receives no
notification. You might need to increase the value of maxpollinterval to prevent excessive numbers of
queries for work items. The default value of maxpollinterval is 60,000 milliseconds.
throttleinterval The delay between processing work items in milliseconds. The value controls how long the process
sleeps. A value of 0 (zero) means worker tasks process work items as rapidly as possible. To reduce the
CPU load, set the value of throttleinterval to a positive non‐zero value.
batchsize How many work items the worker attempts to check out while searching for more work items. Larger
batch sizes are more efficient, but might not result in good load distribution. The default value for
batchsize is 10.
See also
• For information about the definition of the env and the serverid values in the cluster registry in config.xml,
see “Understanding the Configuration Registry Element” on page 42.
It is possible to control the maximum number of workers, for all work queues on a server, by setting the value of
configuration parameter WorkQueueThreadPoolMaxSize in config.xml. It is possible to set this value individually
on each PolicyCenter server in the cluster.
See also
• “General Work Queue Configuration” on page 93
• “Worker Configuration” on page 94
• “Work Queues and Server Roles” on page 95
• Configuration Guide
Note: The hash mark in front of workqueue (#workqueue) indicates that the value that follows the
hash mark is a server role and not a server ID.
The workqueue role is merely the default role, however. You are free to create and assign new work queue
management roles. You can also use server roles to enable or disable certain work queues on a specific PolicyCenter
server.
To add a specialized work queue role, say, one to use in managing activity work queues, you need merely to add the
new server role to the list of roles:
See also
• “Defining a New Server Role” on page 46
<?xml version="1.0"?>
<work-queues xmlns="http://guidewire.com/work-queue" defaultServer="#workqueue">
<work-queue workQueueClass="com.guidewire.pl.domain.escalation.ActivityEscalationWorkQueue" … >
<worker server="#activityworkqueue"/>
</work-queue>
<work-queue workQueueClass="com.guidewire.pl.domain.geodata.geocode.GeocodeWorkQueue" … >
<worker/>
</work-queue>
</work-queues>
In this example:
Administering Batch Processing 95
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Assigning Server Roles to PolicyCenter Cluster Servers” on page 45
See also
• “Schedule the Process Completion Monitor Batch Process” on page 96
• “Implement the IBatchCompletedNotification Interface” on page 97
• “Register a Custom Batch Notification Plugin” on page 97
• “Process Completion Monitor Batch Process” on page 115
Procedure
1. In the PolicyCenterStudio Project window, expand configuration→config→scheduler.
96 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
a. Open scheduler-config.xml.
b. Add the following <ProcessSchedule> element:
<ProcessSchedule process="ProcessCompletionMonitor">
<CronSchedule minutes="*/5"/>
</ProcessSchedule>
See also
• “Understanding a Work Queue Schedule Specification” on page 89
Procedure
1. In the PolicyCenterStudio Project window, expand configuration→gsrc.
2. Do one of the following:
• If a package for your plugin implementation classes already exists within gsrc, navigate to that package, then
skip to step 6.
• If a package for your plugin implementation classes does not exist, continue to step 4.
3. Right-click gsrc, then click New→Package.
4. Enter a package name, such as workqueue.
5. Right-click your implementation class package and click New→Gosu Class.
6. Enter the name IBatchCompletedNotification for the gosu class.
7. Click OK.
8. Define your Gosu class, using the following framework:
package myCompany.plugin.workqueue
uses gw.plugin.workqueue.IBatchCompletedNotification
construct() { }
//do something
return
}
}
Procedure
1. In the PolicyCenterStudio Project window, expand configuration→config→Plugins.
2. Right-click registry and click New→Plugin.
3. In the Plugin dialog, enter IBatchCompletedNotification for the name of your plugin.
4. In the Plugin dialog, click …
Administering Batch Processing 97
Guidewire PolicyCenter 9.0.6 System Administration Guide
5. In the Select Plugin Class dialog, type IBatchCompletedNotification and select the IBatchCompletedNotification
interface.
6. In the Plugin dialog, click OK.
Studio creates a GWP file under Plugins→registry with the name that you entered.
7. Click the Add Plugin icon and select Add Gosu Plugin.
8. For Gosu Class, enter your class, including the package.
9. Save your changes.
See also
• Configuration Guide
See also
• “Purge Failed Work Items Batch Process” on page 117
See also
• “Working with Work Queue Writers and Batch Processes” on page 86
• “Terminate a Writer or Batch Process from the Command Prompt” on page 87
• “The Work Queue Scheduler” on page 89
• “Unused and Internal Batch Processes” on page 127
• “Batch Process Info” on page 321
• “Work Queue Info” on page 324
On Contact objects, the AccountHolderCount values sometimes are incorrect. Account Holder Count batch
processing finds Contact objects with incorrect AccountHolderCount values, and updates the value. If the value of
AccountHolderCount is set incorrectly, it can affect search performance.
Based on the number of contacts that need updating, decide whether to run Account Holder Count manually or
automatically as a scheduled batch process.
• If the number of contacts to update is relatively small and does not change often, consider running it manually.
Periodically check the data distribution in case something later causes Contact.AccountHolderCount fields to
be incorrect.
• If the number of contacts to update is large, or if contacts regularly have incorrect AccountHolderCount values,
consider scheduling Account Holder Contact to run on a regular basis.
In the base configuration, Guidewire does not schedule Account Holder Count batch processing. To decide whether
to schedule the batch process or run it manually, do the following:
Procedure
See also
The Account Withdraw Evaluation process marks the account status as withdrawn (Withdrawn) if:
• There are no policies associated with the account.
• The Account.CreateTime or Account.OriginationDate is older than a configurable number of months in the
past. The AccountsWithdrawnAfterMonths parameter in config.xml specifies the number of months. In the
base configuration, this parameter is set to 37 months.
• There are no open activities associated with the account.
The Activity Escalation work queue finds activities that meet certain escalation criteria and marks the activity for
escalation. The process logic looks for activities that meet each of the following criteria:
• The activity has an escalation date.
• The escalation date is prior to today’s date.
• PolicyCenter has not previously escalated the activity.
If the Activity Escalation work queue finds an activity that meets all the criteria, it marks the activity as escalated
and calls the activity escalation rules to determine any actions.
If you set your escalation deadline in days, then there is no reason to run activity escalation more than daily.
However, if your escalation deadline is shorter, then run this process more frequently to take action on overdue
activities in a timely manner. By default, PolicyCenter runs Activity Escalation batch processing every 30 minutes.
As indicated, you can change this schedule as needed.
See also
• Application Guide
• Configuration Guide
• Rules Guide
The Apply Pending Account Data batch process synchronizes changes made during future-dated jobs with the
backing account information. For examples, suppose that a customer updates her personal auto policy to show that
her marital status changes on some future date. This process applies that change to the corresponding account on the
edit-effective date of the policy change job.
100 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Application Guide
The Archive Policy Term work queue archives policy terms. The process calls the IPCArchivingPlugin
implementation to determine whether a policy is eligible for archiving. For a policy period to be eligible for
archiving, the server time must have reached the PolicyTerm.NextArchiveCheckDate date.
It is possible for the Archive Policy Term work queue to make large changes to the database tables. After running
the Archive Policy Term process, Guidewire recommends that you update database statistics. Updating database
statistics enables the optimizer to pick better queries based on more current data.
See also
• “Understanding Database Statistics” on page 255
• “Archive Info” on page 331
• Application Guide
• Configuration Guide
• Integration Guide
The Archive Reference Tracking Synch work queue finds all references from any archived documents to any object
instances in the entity graph. You run this process a single time only to build the initial table of archived objects.
To schedule this work queue, you must add the appropriate information to file scheduler-config.xml.
See also
• For a full description of the ArchiveReferenceTrackingSync work queue, see the Configuration Guide.
Administering Batch Processing 101
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Application Guide
The Bound Policy Exception work queue runs policy exception rules on every bound PolicyPeriod that has not had
exception rules run on it for more than a defined number of days.
Parameter BoundPolicyThresholdDays in config.xml defines the minimum number of days that must pass before
PolicyCenter runs the Exception rules again on a bound PolicyPeriod. To be eligible for processing, the
PolicyPeriod must be either in force or expired within the last year.
Note: You must uncomment the entry for this work queue in file scheduler-config.xml to schedule
this work queue.
See also
• Rules Guide
• Configuration Guide
The Cleanup ETLPurgeRoot work queue deletes old ETLPurgeRoot entities that have a purge date that is older than a
calculated date, which is the current date minus a set number of days.
102 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
Parameter KeepPurgedRootsForDays in config.xml sets the minimum number of days that must pass after the
purge event has occurred for the request to be eligible for delete by the Cleanup ETLPurgeRoot process. In the base
configuration, Guidewire sets the value of this configuration parameter to 180 days.
The Clean Up Account Contact Role Table work queue deletes retired AccountContactRole entity instances and
any associated AccountContactRoleReplacement entity instances. In addition, the process marks
AccountContactRole entity instances that are no longer in use as Retired.
The Clear Policy Renewal Check Dates batch process clears (null out) the existing check date for all policies
through a single direct database update statement. Because this is a direct update statement, this batch process is
only available in maintenance mode. In other words, the server must be a run level of NO_DAEMONS or lower.
Only run this process if a configuration change to automated renewal contains a possible risk that the automated
renewal process picks up some policies unacceptably late for renewal. Ultimately, the implementation of the
PolicyRenewalPlugin plugin controls the lead time of any individual policy needs for renewal. By default, this
process depends on the code of that plugin and the NotificationConfig system table accessed through the
NotificationConfigPlugin plugin implementation. As you can overwrite the functionality of either plugin, which
types of changes might significantly change the renewal start date can vary.
This process is not available from the PolicyCenter interface. It is also not possible to schedule this batch process.
Instead, you must start this process using the maintenance_tools -startprocess command option with
PolicyRenewalClearCheckDate or its equivalent web service command.
Procedure
1. Place the server in maintenance mode (NO_DAEMONS or lower).
2. Run the following maintenance_tools command a single time only.
3. After batch processing completes, finish bringing the server all the way up to production mode.
See also
• “Set the Server Run Level Through System Tools” on page 57
• “Maintenance Tools Command” on page 390
The Closed Policy Exception work queue runs policy exception rules on every closed PolicyPeriod that has not
had exception rules run on it for a defined number of days.
Parameter ClosedPolicyThresholdDays in config.xml defines the minimum number of days that must pass
before PolicyCenter runs the Exception rules again on a closed PolicyPeriod.
See also
• Rules Guide
• Configuration Guide
Categories UIRunnable
After an upgrade, the Create UWRules for UWIssue Types work queue runs at server start. For each UWIssueType
object that does not have a corresponding UWRule object, this process does the following:
• It creates a new UWRule object.
• It links the new UWRule object with its corresponding UWIssueType object.
• It marks the associated business rule as being externally managed.
Categories APIRunnable
The Data Distribution batch process generates data on the distribution of various items in the PolicyCenter database.
It is not possible to schedule this process. You must run this process from the Data Distribution screen of the Server
Tools Info Pages or by using the maintenance_tools command line utility.
As this type of batch process can be very resource intensive, it has the possibility of adversely affecting the
performance of the application. Before you run this process in a production environment, Guidewire recommends
that you run the process first against a test environment that contains a full copy of production data.
See also
• “Data Distribution” on page 342
• “Maintenance Tools Command” on page 390
• Integration Guide
Categories Schedulable
The Database Consistency Check work queue runs consistency checks on the PolicyCenter database.
To schedule the consistency checks process, use the following system_tools command, adding the optional
information on which checks to run against which tables, if you choose:
See also
• “Work Queues” on page 82 for a discussion of how PolicyCenter handles work queues.
• “Database Consistency Checks” on page 240 for an overview of database consistency checks
• “Consistency Checks” on page 333 for details of the Consistency Checks screen in PolicyCenter
• “Command Prompt Tools” on page 385 for an explanation of command prompt options
Categories Schedulable
The Database Statistics work queue generates database statistics about how the PolicyCenter application and data
model interact with the physical database. For example, database statistics store row counts in a table, how a table
distributes the data, and much more. A database management system uses statistics to determine query plans to
optimize performance.
IMPORTANT Do not run or schedule this process if you set <databasestatistics> attribute
useoraclestatspreferences to true in file database-config.xml.
Development Mode
In development mode, it is possible to run Database Statistics batch processing in any of the following ways:
• From a command prompt, using the -updatestatistics option of the system_tools command
• From the Execution History tab of the Server Tools Database Statistics screen
• As a scheduled batch process
Production Mode
In production mode, it is possible to run Database Statistics batch processing in the following ways only:
• From a command prompt, using the -updatestatistics option of the system_tools command.
• As a scheduled batch process
Guidewire recommendation
Guidewire specifically recommends that you collect full statistics in the following circumstances:
• If there are significant changes to data such as after a major upgrade.
• If using the zone_import command.
• If you are trying to troubleshoot performance problems.
In all other cases, Guidewire recommends that you collect INCREMENTAL database table statistics only.
See also
• “Understanding Database Statistics” on page 255
• “Managing Database Statistics using System Tools” on page 257
• “Database Statistics” on page 343
• “System Tools Command” on page 393
Categories APIRunnable
The Deferred Upgrade Tasks batch process creates the nonessential performance indexes and indexes on archived
entities.
106 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
PolicyCenter runs the Deferred Upgrade Tasks batch process after an upgrade automatically if you set the following
attribute on <upgrade> in database-config.xml to true:
defer-create-nonessential-indexes
If DeferredUpgradeTasks batch processing fails, manually run the batch process again during non-peak hours. To
manually run the Deferred Upgrade Tasks batch processing, use the following command:
Note: To run this command, you must have permission to create indexes until after the
DeferredUpgradeTasks batch process completes.
To check the status of the DeferredUpgradeTasks batch processing, review the upgrade logs and the PolicyCenter
Server Tools Upgrade and Versions screen.
Production Mode
Do not go into full production while the Deferred Upgrade Tasks process is still running. The lack of so many
performance-related indexes can likely make PolicyCenter unusable.
Until the Deferred Upgrade Tasks batch process has run to completion, PolicyCenter reports errors during schema
validation while starting. These include errors for column-based indexes existing in the data model but not in the
physical database and mismatches between the data model and system tables.
Do not use the PolicyCenter archiving feature until the Deferred Upgrade Tasks batch processing completes
successfully.
See also
• “Upgrade and Versions” on page 362
• “Maintenance Tools Options” on page 390
• Upgrade Guide
Categories Schedulable
The Destroy Contact For Personal Data work queue finds all PersonalDataContactDestructionRequest objects
that have a status set to New or ReRun (category ReadyToAttemptDestruction). How far the destruction process
went for the found contacts is determined by the ContactDestructionStatus returned from the Destroyer, the class
that implements the PersonalDataDestroyer interface.
The process sets the contact destruction status to the returned status. If that status is Completed, Partial, or
NotDestroyed (category DestructionStatusFinished), the process also populates the date of completion
information.
The process throws an exception if the return status is New or if you try to change the status from a typecode in the
DestructionStatusFinished category.
See also
• Configuration Guide
Administering Batch Processing 107
Guidewire PolicyCenter 9.0.6 System Administration Guide
The Extract Rating Worksheets work queue extracts rating worksheet data from worksheet container
(WorksheetContainer) objects to files in a specified directory on the server with the batch role. The process also
marks WorksheetContainer objects for purging.
This process calls the implementation of the WorksheetExtractPlugin plugin, which sets the target directory.
See also
• “Purge Rating Worksheets Work Queue” on page 121
• Configuration Guide
Categories UIRunnable
The Fix JobGroup on Moved Policies work queue assigns the correct job group category to Job objects associated
with policies moved between accounts.
The Form Text Data Delete batch process deletes orphaned, purged, or archived FormTextData objects. A
FormTextData object stores the text data that comprises the XML data for a Form.
The Geocode Writer work queue runs periodically to update geocoding information on user contact (UserContact)
primary addresses and account locations. The UserContact entity represents a PolicyCenter user.
To schedule the Geocode Writer work queue, uncomment the entry for it in scheduler-config.xml.
See also
The Group Exception work queue executes any defined group exception business rules on all groups in the system.
See also
• Rules Guide
Class HandleUnresolvedContingencyWorkQueue.gs
The Handle Unresolved Contingency work queue initiates action on pending contingencies with an action start date
of either today or a past date on which action has not yet started.
You can also add contingency actions by modifying Gosu class HandleUnresolvedContingencyWorkQueue. Add a
type code to the ContingencyAction type list. In ContingencyEnhancement.gsx, add an action start date for this
action in the updateActionStartDate method. Add a property getter for the new job using
isPolicyChangeAction as a model.
Administering Batch Processing 109
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Application Guide
Categories UIRunnable
The Impact Testing Export work queue exports test periods to an Excel file if you click Create Excel Export File on the
PolicyCenter Impact Results screen.
It is only possible to run Impact Testing Export batch processing from the Server Tools Batch Process Info screen.
See also
• Application Guide
Categories UIRunnable
The Impact Testing Test Case Preparation work queue generates baseline policy periods on the selected policies if
you click Create Baselines from the PolicyCenter Create Baseline screen.
It is only possible to run Impact Testing Test Case Preparation batch processing from the Server Tools Batch Process
Info screen.
See also
• Application Guide
Categories UIRunnable
The Impact Testing Test Case Run work queue generates test policy periods rated using the selected rate books if
you click Quote Test Periods from the PolicyCenter Testing Periods screen.
It is only possible to run this process from the Server Tools Batch Process Info screen.
110 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Application Guide
The Job Expire batch work queue expires a job if the job has had no action taken on it for a configurable period of
time. Job Expire batch processing changes jobs from New, Draft, or Quote status to Expired. In the default
configuration, the process expires submissions in these statuses that are at least seven days past the effective date of
the policy.
To configure the expiration threshold as the number of days past the effective date or the creation date, modify the
corresponding configuration parameter in config.xml:
• JobExpirationEffDateThreshold
• JobExpirationCreateDateThreshold
Job Expire batch processing examines all jobs meeting the date criteria. but only expires those jobs for which
job.canExpireJob returns true.
Procedure
Result
Forcing the expiration of all jobs for which expiration is possible improves the performance of queries related to
jobs.
See also
• Application Guide
• Configuration Guide
Administering Batch Processing 111
Guidewire PolicyCenter 9.0.6 System Administration Guide
Categories Schedulable
The Notify External System For Personal Data work queue finds all PersonalDataDestructionRequest objects
that have a status typecode in the DestructionStatusFinished category and RequestersNotified set to false.
The work queue processes found requests by sending a notification to all associated requesters, and marking
RequestersNotified as true. If the notification fails, the process throws an exception and RequestersNotified
remains false.
Note: The class that implements this work queue is
PersonalDataDestructionNotifyExternalSystemsWorkQueue. In your implementation, you must
verify that the notification was successful before marking the RequestersNotified property as true.
A method on the PersonalDataDestruction plugin, notifyExternalSystemsRequestProcessed, is called by the
PersonalDataDestructionNotifyExternalSystemsWorkQueue to notify external systems when a personal data
destruction request completes. The process passes the original RequestID to the method, which does nothing by
default. You are expected to implement this method to notify systems of interest. The process receives the
RequestID through the PersonalDataDestructionAPI web service when the destruction request is originally
created.
Note: In the base configuration, the class that implements the PersonalDataDestruction plugin is
PCPersonalDataDestructionPlugin.
See also
• Configuration Guide
The Open Policy Exception work queue runs policy exception rules on open, unlocked PolicyPeriod objects that
have not had exception rules run on them for a definable number of days.
Parameter OpenPolicyThresholdDays in config.xml defines the minimum number of days that must pass before
PolicyCenter runs the Exception rules again on an open and unlocked PolicyPeriod.
By default, Guidewire comments out the entry for this work queue in scheduler-config.xml. To schedule this
work queue, remove the comment characters from around the entry for the work queue.
See also
• Rules Guide
• Configuration Guide
112 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
The Overdue Premium Report work queue runs premium report escalation rules on overdue premium reports.
Categories UIRunnable
IMPORTANT The Run Phone Number Normalizer work queue once only, after upgrading from earlier
application versions to 8.0.0+. Disable the Phone Number Normalizer work queue in a production
environment.
The Phone Number Normalizer work queue calls the registered plugin that implements the
IPhoneNumberNormalizer interface. Use the Phone Number work queue to normalize phone numbers after
upgrading from earlier versions of PolicyCenter to 8.0.0+.
Guidewire recommends that you use a substantial number of workers with the Phone Number Normalizer work
queue. Using a small number of workers to normalize the phone numbers in a large database can take a very long
time. The optimal number of workers to use varies according to the available hardware and the volume of the data
involved. It is also possible to allocate workers to several different PolicyCenter servers rather then simply
increasing the number of workers on a single server.
Disable this work queue after the process completes normalizing all old phone numbers by setting the number of
workers in work-queue.xml to 0. You never need to run the Phone Number Normalizer work queue more than once,
after an upgrade to 8.0.0+.
See also
• “Configuring Work Queues” on page 92
• “Upgrading phone numbers” in the Upgrade Guide
• “Phone number normalizer plugin” in the Integration Guide
Class PolicyHoldJobEvalWorkQueue.java
The Policy Hold Job Evaluation work queue evaluates each job against the policy holds blocking it. The process
finds policy hold jobs that have the following characteristics:
• Jobs that are open
• Jobs that have policy periods with an active blocking hold
• Jobs that have not been evaluated since the time the policy hold changed
The PolicyHoldJobEvalPlugin plugin implementation determines the actions to take on each job found.
Categories APIRunnable
The Policy Locations Risk Assessment work queue starts risk assessments for all policy locations associated with a
policy period. This process sends an activity to the user requesting risk assessment that indicates whether the risk
assessment succeeded or failed.
In the base configuration, PolicyCenter calls this work queue if you select Update Risk Evaluations on the PolicyCenter
Risk Analysis screen in a commercial property policy transaction.
This work queue retrieves risk assessment results from the Guidewire Spotlight risk assessment service for each
location on a given PolicyPeriod and creates LocationRiskAssessment objects. Because PolicyCenter sets an
effective date on each LocationRiskAssessment entity that it creates, it is only possible to run this process on an
unlocked PolicyPeriod object.
If the process fails, it does the following:
• It rolls back the entire transaction and does not persist any of the risk assessment results.
• It creates an activity and sends the activity to the list of configured user roles on the current job. You can
configure the list of roles in the SpotlightNotificationActivityCreator class.
• It sends a notification activity to the requesting user, if the work item includes a reference to that user.
If the process succeeds, it does the following:
• It commits the transaction and persists the risk assessment results on the PolicyPeriod.
• It creates an activity and sends the activity to the list of configured user roles on the current job.
• It sends a notification activity to the requesting user, if the work item includes a reference to that user.
See also
• Application Guide
The Policy Renewal Start work queue starts renewal processing for policies set to expire. The process determines
the date on which to start the renewal process by subtracting the value of configuration parameter
RenewalProcessLeadTime in config.xml from the policy expiration date.
Categories APIRunnable
The Populate Search Columns batch process populates denormalized searchColumn columns from their designated
sourceColumn columns.
It is only possible to run this process from the maintenance_tools command.
See also
• Configuration Guide
The Premium Ceding work queue performs calculations related to premium ceding.
See also
Integration Guide
The Process Completion Monitor batch process runs at configurable intervals and examines the ProcessHistory
table for all completed work queues and batch processes.
Administering Batch Processing 115
Guidewire PolicyCenter 9.0.6 System Administration Guide
For each completed work queue that it finds, Process Completion Monitor:
• Determines if all the work items in that work queue have either completed or failed.
• Calls the IBatchCompletedNotification plugin implementation on a process if the process is complete and has
no remaining available or checked-out work items.
• Sets ProcessHistory.NOTIFICATIONSENT to true to prevent the process from invoking the
IBatchCompletedNotification plugin implementation more than a single time for any given process.
The IBatchCompletedNotification interface has a completed method that you can override to perform specific
actions after a work queue or batch process completes a batch of work.
By default, Guidewire does not add an entry for this batch process to scheduler-config.xml in the base
configuration. To schedule this batch process, add an entry for it to scheduler-config.xml.
See also
• “Performing Custom Actions After Batch Processing Completion” on page 96.
The Process History Purge batch process purges batch process history data from the ProcessHistory table. It is
important to periodically delete process history data. A large number of history records in the database can slow
performance during use of the Server Tools Batch Process Info or Work Queue Info screens.
This process uses Gosu class ProcessHistoryPurge to read the value of the BatchProcessHistoryPurgeDaysOld
parameter in config.xml. The process then uses this value to determine the history data to purge.
Note: PolicyCenter also uses configuration parameter BatchProcessHistoryPurgeDaysOld to
determine how many days to retain process history records, which the separate “Work Item Set Purge
Batch Process” on page 126 process removes.
Categories APIRunnable
The Product Model Pattern Activation batch process makes active newly defined product model patterns added
during a rolling upgrade to a PolicyCenter server cluster. In a rolling upgrade, you bring down a single server at a
time and perform a configuration upgrade on that server. After bringing that server back online, you do the same
with the next server in the cluster and so on.
To provide for data integrity during this process, Guidewire disables any newly added product model patterns until
all servers in the cluster have the same application configuration. Run the Product Model Pattern Activation batch
116 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
process after you complete the rolling upgrade and after you flip the Rolling Upgrade Complete flag in the Server Tools
Upgrade and Versions screen.
It is only possible to run this batch process using web services or by using the following maintenance_tools
command option:
maintenance_tools -password password -startprocess productmodelpatternactivation
See also
• “Updating Product Model Patterns in a Rolling Upgrade” on page 169
• “Performing a Rolling Upgrade” on page 172
• “Maintenance Tools Command” on page 390
The Purge batch process purges jobs and prunes policy periods that meet the purge and prune criteria. This process
deletes jobs and other entities from the database. By default, Guidewire disables the Purge batch process in the base
configuration.
See also
• To enable Purge batch processing, the Configuration Guide.
• For information on the criteria that the batch process uses to determine eligibility for deletion from the database,
see the Configuration Guide.
The Purge Cluster Members batch process purges ClusterMemberData entities. This process uses Gosu class
PurgeClusterMembers to read the value of the ClusterMemberPurgeDaysOld parameter in config.xml. The
process then uses this value to purge the ClusterMemberData entities that have a LastUpdate value prior to the
current date minus the value of the ClusterMemberPurgeDaysOld.
The Purge Failed Work Items batch process purges failed work items from all PolicyCenter work queues. This
process uses Gosu class PurgeFailedWorkItems to determine which work items to delete.
During a scheduled execution of the batch process, the batch process deletes failed work items that are older than the
last run date of the batch process. It then set the last run date to the current date. Thus, if the scheduled execution of
this batch process is monthly, the process deletes work items that are older than a month only.
If you run this batch process manually and there are work items that are newer than the last run date, the batch
process does not delete them. If you then run the batch process a second time on the same day, the process deletes
work items that are older than the current date. This is the expected behavior.
The Purge Message History batch process purges old messages from the message history table. The
KeepCompletedMessagesForDays parameter in config.xml specifies how many days a message can remain in the
message history table before Purge Message History batch processing removes the message.
Categories Schedulable
The Purge Old Contact Destruction Request work queue finds all PersonalDataDestructionRequest,
PersonalDataContactDestructionRequest, and PersonalDataDestructionRequester objects that have the
following values:
• The RequestersNotified property is set to true.
• The PersonalDataContactDestructionRequest.DestructionDate value plus the value of the
ContactDestructionRequestAgeForPurgingResults configuration parameter is less than or equal to today’s
date
PolicyCenter removes each found request that has AllRequestsFulfilled equal to true.
By default, Guidewire disables the entry for this work queue in scheduler-config.xml. To schedule this work
queue, remove the comment marks from around the entry in scheduler-config.xml.
118 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Configuration Guide
The Purge Old Transaction IDs batch process deletes SOAP header transaction IDs generated by systems external to
Guidewire PolicyCenter. This process uses Gosu class PurgeTransactionIds to read the value of the
TransactionIdPurgeDaysOld parameter in config.xml. The process then purges transaction IDs that have a
creation date prior to the current date minus the value of the TransactionIdPurgeDaysOld parameter.
Guidewire does not schedule this batch process in the base configuration as the table that stores the transaction IDs
takes very little space in the database. Unless there is a constant buildup of these transaction IDs, there is no real
need to continually purge this data. In fact, if you do purge this data, it is then not possible to determine if a new
transaction is a duplicate of a transaction sent by the external system at an earlier date. There are other alternatives to
purging this data. For example, you can partition the table by date.
See also
The Purge Orphaned Policy Period work queue finds orphaned policy periods (policy periods not associated with a
specific job) and deletes them. The process deletes policy periods and other entities from the PolicyCenter database.
See “Purge Orphaned Policy Period Work Queue” on page 119 for information on how PolicyCenter selects a policy
period for deletion.
By default, Guidewire disables the Purge Orphaned Policy Period work queue in the base configuration. To enable
this work queue, see the Configuration Guide.
See also
• Configuration Guide
The Purge Profiler Data batch process purges profiler data at regularly specified intervals. This process uses the
read-only ProfilerDataPurgeBatchProcess class to read the value of the ProfilerDataPurgeDaysOld parameter
in config.xml. The process then uses the value of this parameter to determine how many days to retain profiler data
before the Purge Profiler Data process removes it.
Quote cloning creates copies of policy period quotes, known as quote clones. The Purge Quote Clones work queue
deletes quote clones that are marked as processed from the PolicyCenter database.
By default, Guidewire disables the entry for this work queue in scheduler-config.xml in the base configuration.
To schedule this work queue, remove the comment marks from around its entry in scheduler-config.xml.
See also
• Application Guide
• Configuration Guide
The Purge Rate Book Export Result work queue removes spreadsheets and XML files resulting from exporting rate
books to spreadsheet or to XML. The process removes the files from the PolicyCenter database. This processing
does not remove files downloaded to the user’s computer.
This process removes RateBookExportResult Excel and XML files that are more than 60 days old. Specify the
number of days in the RateBookExportResultAgeForPurging parameter in config.xml.
It is possible to disable this process by setting the PurgeRateBookExportResultEnabled parameter in config.xml
to false.
120 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Application Guide
• Configuration Guide
The Purge Rating Worksheets work queue removes worksheet container (WorksheetContainer) objects that meet
certain criteria. Configuration parameter RatingWorksheetContainerAgeForPurging in config.xml specifies the
minimum number days after the closure of a job before the WorksheetContainer associated with its policy is
eligible for purging.
By default, Guidewire disables the entry for the Purge Rating Worksheets work queue in scheduler-config.xml in
the base configuration. To schedule this work queue, remove the comment marks from around the entry for it in
scheduler-config.xml.
See also
• “Extract Rating Worksheets Work Queue” on page 108
• Configuration Guide
The Purge Risk Assessment Temporary Store work queue deletes temporary objects created for risk assessment. The
process deletes objects if they are older than the number of days specified by configuration parameter
PurgeRiskAssessmentTempStoreDays in config.xml. In the base configuration, Guidewire sets the value of this
parameter to 30 days.
The Purge Risk Assessment Temporary Store work queue purges temporary objects if the course of standard
PolicyCenter operations does not remove them.
See also
• Configuration Guide
Sometimes policy period (PolicyPeriod) objects in a temporary (Temporary) status exist in the database. The
Purge Temporary Policy Periods work queue removes these temporary policy periods from the database.
Configuration parameter PurgeTemporaryPolicyPeriodsAfterDays sets the minimum number of days that must
pass before it is possible to purge a temporary policy period. In the base configuration, Guidewire set the value of
this parameter to 14 day.
To enable batch processing, set configuration parameter PurgeTemporaryPolicyPeriodsEnabled to true. If set to
false, the work queue write does not remove any temporary policy periods.
In the base configuration, Guidewire does not provide an entry for this work queue in scheduler-config.xml. To
schedule this work queue, add an entry for it to scheduler-config.xml.
The Purge Workflow batch process purges completed workflows after resetting any referenced workflows. This
process uses Gosu class PurgeWorkflow to read the value of configuration parameter WorkflowPurgeDaysOld days
in config.xml. The process then uses this value to determine the number of days to retain workflow data before
purging it.
The Purge Workflow Logs batch process purges completed workflows logs. This process uses Gosu class
PurgeWorkflowLogs to read the value of configuration parameter WorkflowLogPurgeDaysOld in config.xml. The
process then uses this value to determine the number of days to retain workflow logs before purging them.
Categories APIRunnable
The Rate Book Export work queue exports a rate book and its included rate table and rate routines to a file in either
Microsoft Excel or XML format. PolicyCenter initiates this process if the user selects Export to Spreadsheet in the
PolicyCenter Rate Book screen.
See also
• Application Guide
• Configuration Guide
The Recalculate Contingency Action Start Date work queue recalculates the action start date on all unresolved
contingencies. It is only necessary to run this work queue if you modify the ContingencyEnhancement.gsx code or
want to update the action start date of existing contingencies.
See also
• Application Guide
Categories UIRunnable
The Reset Purge Status and Check Dates work queue resets the purge status and purge or prune dates on the jobs.
Run this process if you have a need to reset the purge status and purge date.
For each job, this batch process:
• Sets the Job.PurgeStatus property to Unknown
• Sets the Job.NextPurgeCheckDate to null
For example, if a job has a PurgeStatus of NoActionRequired or Pruned, the batch process resets the
PurgeStatus to Unknown.
It is only possible to run this work queue using the following maintenance_tools command:
maintenance_tools -password password -startprocess resetpurgestatusandcheckdates
Administering Batch Processing 123
Guidewire PolicyCenter 9.0.6 System Administration Guide
The Retrieve Policy Terms work queue processes requests to restore archived policy terms.
By default, Guidewire disables the entry for this work queue in scheduler-config.xml in the base configuration.
To schedule this process, uncomment the existingentry for the work queue in file scheduler-config.xml.
The Retire Activities work queue retires Activity entity records that are either:
• Canceled
• Dismissed
The Retrieve Policy Terms work queue retrieves archived policy terms marked for retrieval. It is possible for a user
to request the retrieval of an archived policy term. Retrieving a policy term generates an activity for the user who
requested the retrieval of the policy term.
By default, Guidewire disables the entry for this work queue in scheduler-config.xml in the base configuration.
To schedule this work queue, remove the comment marks from around the entry for it in scheduler-config.xml.
See also
• Application Guide
The Solr Data Import batch process tests the operation of the free-text batch load command, especially its embedded
SQL query. Only run Solr Data Import batch processing on development-mode servers.
IMPORTANT Do not run this process in production to load and re-index the Guidewire Solr Extension.
Instead, run the free-text batch load command (batchload) on the host on which the Guidewire Solr
Extension resides.
See also
• “Free-text Batch Load Command” on page 285
• Configuration Guide
The Team Screens batch process collects statistics for the PolicyCenter Team tab screens.
See also
• Application Guide
• Configuration Guide
The User Exception work queue runs the user exception rule set on all users in the system.
See also
• Rules Guide
Administering Batch Processing 125
Guidewire PolicyCenter 9.0.6 System Administration Guide
The Work Item Set Purge batch process purges work item sets from the database. This process uses Gosu class
WorkItemSetPurge to read the value of the BatchProcessHistoryPurgeDaysOld parameter in config.xml. The
process then uses this value to determine the number of days to retain work item sets before purging them.
Note: The BatchProcessHistoryPurgeDaysOld parameter also configures how many days to retain
process history records, which the separate “Process History Purge Batch Process” on page 116
process removes.
The Work Queue Instrumentation Purge batch process purges instrumentation data for work queues. This process
uses Gosu class WorkQueueInstrumentationPurge to read the value of the
InstrumentedWorkerInfoPurgeDaysOld parameter in config.xml. The process then uses this value to determine
how long to retain work queue instrumentation data.
See also
• “Work Queue Info” on page 324
The Workflow work queue runs PolicyCenter workflow tasks. Workflow cannot advance any faster in the
background than the work queue schedule. To increase the speed of PolicyCenter workflow, change the schedule of
this work queue.
126 chapter 6: Administering Batch Processing
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Configuration Guide
Unused processes
The Batch Process Type typelist (BatchProcessType.tti) includes a few Guidewire platform processes that
PolicyCenter has officially retired. Guidewire indicates this status by setting the retired flag on the process
typecode to true and placing a line through the typecode the typelist. You can ignore these processes.
In addition, there are other processes listed in the Batch Process Type typelist that Guidewire no longer uses but
which you can still see in the typelist, depending on the application version. Examples of these types of processes
include the following:
• Archive
• Bulk Purge
• Contact Auto Synch
• Stat Report
Internal processes
PolicyCenter uses some Guidewire batch processes internally. For example, PolicyCenter runs some processes to
generate database performance reports only. You cannot run internal processes separately. Do not attempt to use the
following internal processes:
• Back Out Rolling Upgrade
• Business Rule Export/Import
• Business Rule Validator
• Create Perf Only Indexes
• Find Usages Of Upgraded Typecodes
• Microsoft DMV Report
• Oracle AWR Report
• Staging Table Import
To improve performance and reliability, you can install multiple PolicyCenter servers in a configuration known as a
cluster. A PolicyCenter cluster distributes client connections among multiple PolicyCenter servers, reducing the load
on any one server. If one server fails, the other servers seamlessly handle its traffic. This topic describes how a
PolicyCenter cluster functions.
See also
• Installation Guide
Cluster Terminology
Guidewire uses the following terminology in discussions involving Guidewire PolicyCenter clusters.
Term Meaning
Host The physical machine on which one or more Guidewire applications run.
Application instance An individual PolicyCenter deployment. It is possible to run multiple application instances on the same
host.
PolicyCenter server The server associated with each application instance. For production environments, Guidewire supports
JBoss, Tomcat, WebLogic, and WebSphere servers. If running multiple servers on the same host, each
server must map to a different physical port.
Server role A categorization of each application instance in the cluster by its function, as defined by its role. Exam‐
ples of server roles are ui (manages user interface requests), batch (manages batch processing), and
messaging (manages messaging and message destinations).
You define server roles using the cluster <registry> element in config.xml. See “Server Roles” on page
139 for more information. See also “Understanding the Configuration Registry Element” on page 42.
Cluster A grouping of two or more Guidewire application instances that have a common configuration and func‐
tion as an integrated unit. Typically, each server in the cluster has one or more roles or function. Most
often, if there are multiple servers assigned the ui role, the cluster contains a third‐party load balancer
as well.
The individual application instances in the cluster must all connect to a common database.
Cluster member A single application instance within a Guidewire cluster.
Cluster Membership
As a PolicyCenter server joins the cluster, it updates a membership table in the PolicyCenter database. All cluster
servers periodically poll this table to determine cluster membership.
Cluster Availability
To ensure a high degree of availability, Guidewire recommends that the cluster configuration include two or more
servers with each specific server role. You also need to provide ample capacity for running role-constrained items
such as message destinations or batch processes.
Cluster Monitoring
Guidewire provides cluster monitoring screens that are available to those with privileges to view the Server Tools
screens:
• The Server Tools Cluster Members screens provide information on each server in the cluster.
• The Server Tools Cluster Components screen provides information on the components running on a given server.
Also, there are system_tools command options that provide information on cluster members and components in
the PolicyCenter cluster.
See also
• “PolicyCenter Server Configuration” on page 41
• “Cache Management” on page 64
• “Concurrent Data Change Prevention” on page 65
• “Planning a PolicyCenter Cluster” on page 147
• “Server Roles” on page 139
132 chapter 7: Understanding PolicyCenter Server Clustering
Guidewire PolicyCenter 9.0.6 System Administration Guide
Cluster Communication
In the base PolicyCenter configuration, PolicyCenter clusters use the following types of transport mechanisms for
sending messages between cluster members:
• Reliable broadcast without replies
• Unreliable fast broadcast without replies
• Reliable unicast with reply
Guidewire provides a default plugin implementation to support each of these transport types. However, it is possible
to implement your own unicast/multicast transport by implementing the corresponding plugin. Guidewire disables
fast broadcast messaging in the base configuration.
Unicast Communications
PolicyCenter clusters use PPP protocol over TCP for direct server-to-server communication. For example, it is
possible for a PolicyCenter Server Tools screen function to create a message request that directly targets a specific
server. In this case, server A, on which the message request originate, sends a unicast message to server B, who
receives and processes the request. PolicyCenter server lease management also leverages unicast communication to
speed up certain actions, such as lease transfers.
Multicast Communications
PolicyCenter clusters leverage the database for distributing broadcast messages.
ClusterBroadcastTransportFactory Provides a single factory method for creating a cluster transport for reliable
broadcast of messages, with no replies. PolicyCenter stores broadcast messages
in the database and then periodically loads any new broadcast messages onto
each node in the cluster. This type of cluster transport guarantees the delivery
order and the reliable delivery of the broadcast message.
PolicyCenter uses this mechanism for default message broadcast if you do not
enable the ClusterFastBroadcastTransportFactory plugin implementation.
ClusterFastBroadcastTransportFactory Provides a single factory method for creating a cluster transport for fast broad‐
cast of messages, with no replies. This type of transport:
• Uses UDP multicast protocol
• Does not guarantee the delivery order or even the actual delivery of the
broadcast message
PolicyCenter typically uses this type of cluster transport for broadcasting cache
eviction notifications to cluster members.
The use of this transport type is optional. In the base configuration, Guidewire
disables the ClusterFastBroadcastTransportFactory plugin implementation
due to its use of the UDP protocol. If you do not enable the plugin implementa‐
tion, PolicyCenter uses the ClusterBroadcastTransportFactory cluster trans‐
port for broadcast messages instead.
Note: This type of cluster communication uses the UDP multicast protocol.
Most (but, not all) cloud environments disable multicast communication with
no option to reenable it. Because of this fact, Guidewire does not recommend
the use of a ClusterFastBroadcastTransportFactory implementation in a
cloud environment. Only use this plugin type in an environment that supports
multicast communication.
ClusterUnicastTransportFactory Provides a single factory method for creating a cluster transport for point‐to‐
point unicast messages between specific servers in the cluster. The default plugin
implementation uses TCP for the transport protocol.
Guidewire provides internal Java classes for these cluster-related plugin implementations. It is not possible to
modify these Java classes. To see the plugin definitions, open PolicyCenter Studio and navigate to the following
location in the Studio Project window:
configuration→config→Plugins→registry
Plugin Parameters
The cluster plugin implementations that Guidewire provides in the base configuration all support plugin parameters
that you can use to reconfigure the plugin. All plugin parameters are optional. Guidewire provides default values for
each of the plugin parameters. See “Cluster Plugin Parameter Reference” on page 134 for more information.
To define a plugin parameter, you manually add that parameter to the plugin definition in the PolicyCenter plugin
editor. For example, suppose that you want to directly control the number of threads in the thread pool that handle
inbound requests in the ClusterUnicastTransportFactory plugin. In this case, you manually add the poolSize
parameter and value to the plugin definition for ClusterUnicastTransportFactory, using the Studio plugin editor.
Parameter Description
batchesDeleteInterval Average time (in milliseconds) between the execution of a SQL statement that deletes old
message batches from the database. Each server node in the cluster executes this SQL state‐
ment. Therefore, if the cluster installation contains many nodes, Guidewire recommends that
you increase this value.
The default is 60000 milliseconds (1 minute).
batchKeepPeriod Maximum amount of time for PolicyCenter to retain a batch in the database before deleting it.
The default is 600000 (10 minutes).
batchReadInterval Maximum time interval (in milliseconds) between reading and receiving new batches. The de‐
fault is 3000 milliseconds (3 seconds).
batchWriteAttempts Maximum number of attempts to write to a batch queue. If the number of consecutive errors
exceeds this threshold, the transport switches to ERROR mode in which each new messages
pops the oldest message out of the in‐memory queue. The purpose of this parameter value is
to avoid out‐of‐memory issues. The default is 30.
batchWriteInterval Maximum time interval to wait (in milliseconds) before PolicyCenter writes, or sends, the cur‐
rent batch of messages. The default is 2000 milliseconds (2 seconds).
maxOutboundBufferSize Maximum size of outbound buffer (in megabytes). The purpose of this parameter value is to
prevent out‐of‐memory issues if a transport is having problems writing or sending messages.
The default is 25 megabytes.
preferredBatchDataSize Maximum size of the batch (in bytes). If the size of the current batch (the sum of all of the
message batch sizes) reaches this threshold, PolicyCenter writes, or sends, the current batch of
messages immediately.
This value must be less than or equal to the largest possible integer value supported by your
hardware.
preferrredBatchMessageCnt Maximum number of pending messages allowed in the batch queue. If the number of messag‐
es in the batch queue reaches this threshold, PolicyCenter writes, or sends, the current batch
of messages immediately.
The value must be less than or equal to the largest possible integer value supported by your
hardware.
receiverPoolSize Number of threads in the thread pool that handle inbound messages. The default is 4.
To set a plugin parameter, you must manually add that parameter to the plugin definition in the PolicyCenter plugin
editor. To access the plugin editor, navigate to the following location in PolicyCenter Studio and double-click the
plugin name:
Understanding PolicyCenter Server Clustering 135
Guidewire PolicyCenter 9.0.6 System Administration Guide
configuration→config→Plugins→registry
See also
• Configuration Guide
Parameter Description
bindAddr Inet address to which PolicyCenter is to bind. This parameter can be useful if there are
multiple‐NIC hosts. The default fallback for this parameter is the first non‐loopback interface
found on the host as defined by the NetworkInterface Java API.
bindPort Port number to which PolicyCenter is to bind. This parameter can be useful for server hosts
behind a firewall.
maxMessageSize Maximum allowable size of message. PolicyCenter calculates the default value of this parame‐
ter using the following algorithm:
(Maximum IP datagram size) ‐ (UDP header size) ‐ (IP header size)
The maximum IP datagram size is 65,535. The UDP header size is 8. The IP header size is one of
the following values:
• IPv4 = 20
• IPv6 = 40
Thus, if using IPv6, the default value for this parameter is 65,535 ‐ 8 ‐ 40, which is 65,487.
messageKeepPeriod Time (in milliseconds) to keep messages in memory in order to skip retransmitted messages
and to combine divided messages. The default is one of the following:
• 2 * (maximum retransmit interval)
• 10 seconds, if not using retransmit
messageSalt Integer value that PolicyCenter uses in calculating the sending message checksum. This value
must be the same on all servers in the PolicyCenter cluster. The default is 12345.
multicastAddress Multicast Inet address. The default is 228.8.8.8.
multicastPort Multicast port. The default is 38180.
nodeStatisticsKeepPeriod Time (in milliseconds) to keep node statistics in memory after last activity. The default is
3,600,000 (1 hour).
oldMessagesDeleteInterval Average time between the removal old messages from the memory (in milliseconds). The de‐
fault is 1,000.
receiverPoolSize Number of threads in the thread pool that handle inbound messages. The default is 4.
receiverQueueCapacity Thread pool queue capacity. The default is 100.
retransmitIntervals Comma‐separated list of retransmit intervals (in milliseconds). The default is 10000.
sendHeartbeatInterval Time (in milliseconds) between sending heartbeat messages. The default is 30,000 (30 sec‐
onds).
ttl Time‐to‐live (TTL) for multicast datagram packets. The default is 8.
To set a plugin parameter, you must manually add that parameter to the plugin definition in the PolicyCenter plugin
editor. To access the plugin editor, navigate to the following location in PolicyCenter Studio and double-click the
plugin name:
configuration→config→Plugins→registry
136 chapter 7: Understanding PolicyCenter Server Clustering
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Configuration Guide
Parameter Description
bindAddr Inet address to which PolicyCenter is to bind. This parameter can be useful if there are multiple‐NIC
hosts. The default fallback for this parameter is the first non‐loopback interface found on the host as
defined by the NetworkInterface Java API.
bindPort Port number to which PolicyCenter is to bind. This parameter can be useful for server hosts behind a
firewall. The default fallback for this parameter is an ephemeral port, a free port above 1024 that is
within a range supplied by the host operating system.
poolQueueCapacity Thread pool queue capacity. The default is 50.
poolSize Number of threads in the thread pool that handle inbound requests. The default is 4.
To set a plugin parameter, you must manually add that parameter to the plugin definition in the PolicyCenter plugin
editor. To access the plugin editor, navigate to the following location in PolicyCenter Studio and double-click the
plugin name:
configuration→config→Plugins→registry
See also
• Configuration Guide
The exact syntax to use in setting system parameters at application server start is dependent on the application server
type. See “Setting JVM Options in PolicyCenter” on page 48 for more information.
ClusterUnicastTransportFactory Server.Cluster.PointToPoint
In the second logging example, the cluster installation again enables both the ClusterFastBroadcastFactory and
ClusterUnicastTransportFactory plugins. In this case, however, the installation provide a value for the
ClusterUnicastTransportFactory.bindPort parameter, which is 53870, defined in the plugin editor for this
plugin.
138 chapter 7: Understanding PolicyCenter Server Clustering
Guidewire PolicyCenter 9.0.6 System Administration Guide
Server Roles
In general, Guidewire application cluster contains servers (cluster members) that manage the following types of
functionality.
Function Description
Online processing Server interactively manages requests from users logged into Guidewire PolicyCenter.
Background processing Server manages batch process execution, work queue processing, message destination processing,
lease management, and other similar items.
Guidewire categorizes each individual server instance in the cluster by its function, as defined by its role. In the base
configuration, PolicyCenter defines server roles to handle the following functionality. In a typical installation, only
those servers that support external requests such as user input use the ui server role.
It is possible for multiple servers in the PolicyCenter clusters to have the same server role. Servers that have the
same role type typically have similar resource allocations and configuration. Conversely, servers with different
server role types typically have different workloads and allocate their resources differently.
Each Guidewire server contains all types of lease managers. However, a lease manager only becomes active on a
server with a server role that matches its lease type.
See also
• “Component Lease Management” on page 157
• “Assigning Server Roles to PolicyCenter Cluster Servers” on page 45
• “JVM Options Specific to the runServer Build Command” on page 48
See also
• “Work Queues and Batch Processes, a Reference” on page 98
• “Understanding the Configuration Registry Element” on page 42
• “Batch Process Prioritization” on page 160
You associate a specific server role or host name with a message destination in the Guidewire Studio™ message-
config.xml file. If you do not set a server role for a message destination, the Messaging editor shows a default role
of messaging at the top of the screen.
You set a specific role on a PolicyCenter server in one of the following ways:
• Through an option on the gwb runServer command used to start the server from a command prompt.
• Through the registry metadata definitions in file config.xml.
See also
• “Understanding the Configuration Registry Element” on page 42
• “Messaging and Startable Service Load Balancing” on page 162
• “Messaging Tools Command” on page 391
• Integration Guide
• Configuration Guide
IMPORTANT Each server with the scheduler role must also have configuration parameter
SchedulerEnabled set to true in config.xml.
Guidewire recommends that even small clusters have at least two servers with the scheduler role. This mitigates
the possibility of a single server with the scheduler role becoming a single point of failure. However, Guidewire
does not recommend more than four servers with this role in a cluster as large number of servers competing for
database resources can possibly increase database contention.
See also
See also
See also
ui Server Role
Guidewire PolicyCenter uses the ui server role as a placeholder role only. Guidewire PolicyCenter servers typically
operate in conjunction with a non-Guidewire load balancer that manages the user interface transactions.
PolicyCenter distributes web requests to the various cluster members according to the rules specified for the load
balancer. Any cluster server that receives a web request processes that request, regardless of role assignment.
142 chapter 7: Understanding PolicyCenter Server Clustering
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Understanding the Configuration Registry Element” on page 42
• “Guidewire PolicyCenter Cluster Installations” on page 132
• “Planning a PolicyCenter Cluster” on page 147
See also
• “Guidewire PolicyCenter Cluster Installations” on page 132
• “Restarting the PolicyCenter Cluster Servers” on page 149
• “Configuration Compatibility” on page 167
• “Performing a Rolling Upgrade” on page 172
See also
• “ui-Role Cluster Member Shutdown” on page 144
• “Non-ui Role Cluster Member Shutdown” on page 144
Understanding PolicyCenter Server Clustering 143
Guidewire PolicyCenter 9.0.6 System Administration Guide
Most background tasks, except batch processes, stop quickly as their units of work are small. The actual task
managers, for example the Batch Process Manager of the Message Destination Manager, do not instantly stop in a
server shutdown. Instead, each lease manager moves to a passive mode in which it does not start new background
tasks and moves to stop or complete any currently running tasks.
After all components stop their background tasks, you can shut down the batch server safely.
ISystemTools.getClusterState()
You can also use the following system_tools command options to gather information about a server and the state
of the server components:
system_tools -components
system_tools -nodes
See “System Tools Options” on page 393 for a discussion of these command options.
This topic discusses ways to implement, manage, and monitor a Guidewire PolicyCenter cluster.
See also
• “Guidewire PolicyCenter Cluster Installations” on page 132
• Installation Guide
Procedure
1. In your source configuration, for use on all PolicyCenter servers in the cluster, open config.xml for editing.
2. In config.xml, set the following clustering-related configuration parameters appropriately:
ClusteringEnabled
ClusterMemberPurgeDaysOld
ConfigVerificationEnabled
PDFMergeHandlerLicenseKey
3. In config.xml, using the <registry> element, define the following:
a. The set of valid server roles for use in this cluster.
Working with a PolicyCenter Cluster 147
Guidewire PolicyCenter 9.0.6 System Administration Guide
b. The server roles for each individual PolicyCenter server on the cluster.
Note: Guidewire does not require that you use the server <registry> element in config.xml to
define the individual server instances in the cluster. You can also set these values through JVM
parameters at server start up.
4. In config.xml, set the value for KeyGeneratorRangeSize.
5. Create a deployment WAR or EAR file for Guidewire PolicyCenter.
6. Install a PolicyCenter cluster server in the same way that you install a standalone PolicyCenter server.
IMPORTANT If you install multiple PolicyCenter servers on the same host machine, each
PolicyCenter server must run in its own JVM instance.
See also
To disable clustering and remove a server from a cluster, set this parameter to false on that server. After the server
is no longer in a cluster, it behaves as any other standalone PolicyCenter server.
See also
• Configuration Guide
See also
• “Understanding the Configuration Registry Element” on page 42
• “JVM Options and Server Properties” on page 46
• “Add a Server to a PolicyCenter Cluster” on page 149
• “Performing a Rolling Upgrade” on page 172
• “Configuration Compatibility” on page 167
See also
• “Configuration Compatibility” on page 167
• “Performing a Rolling Upgrade” on page 172
Result
After you start the new server, it connects to the cluster and compares its configuration with the cluster configuration
stored in the PolicyCenter database. It performs a checksum of the config.xml file and checks the config
subdirectories. If the configurations differ, the server fails startup and PolicyCenter writes failure messages to the
log file.
See also
• “Place the Server in Maintenance Mode” on page 59
• “System Tools Command” on page 393
IMPORTANT Start the configuration upgrade on a single cluster server and let it fully initialize before
starting the upgrade process on the other cluster members.
Before starting a rolling upgrade, click Start Rolling Upgrade in the Server Tools Upgrade and Versions screen. You can
do this on any server in the PolicyCenter cluster. This action indicates that a rolling upgrade of the individual cluster
members is in progress.
After completing the upgrade of all cluster servers, click Rolling Upgrade Complete in the Server Tools Upgrade and
Versions screen. This action indicates that all servers in the cluster now use the upgrade WAR/EAR file and that the
rolling upgrade process is complete.
See also
• “Performing a Rolling Upgrade” on page 172
• “Unexpected Upgrades” on page 175
See also
• Upgrade Guide
150 chapter 8: Working with a PolicyCenter Cluster
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Unexpected Upgrades” on page 175
http://localhost:8080/pc/ping
It is possible to configure the load balancers access this URL on a regular basis to determine the health of each
member of the cluster. You can then use these results to create redirection logic.
For example, suppose that you have an environment in which PolicyCenter directs traffic to a local ContactManager
instance. You then configure the load balancer to only redirect traffic to a PolicyCenter instance if both that instance
and the ContactManager instance on that server are accessible for user requests.
Information about the local server Its server ID, the server roles assigned to this PolicyCenter server, and similar
member information
Information about individual members Their server IDs, number of active user sessions on each server instance, the
recognized by the cluster server roles assigned to each application instance, date and time of each server
start, and similar information
Information on the components running The component state, date and time of each component start, and similar
on each cluster member information
Information on any component lease The date and time of the deadline in which to complete the failover process
failover in progress
History of each member in the cluster The start and stop times for each cluster member, server roles, run level, and
similar information
From this screen, on any cluster member, you can start or cancel a planned shutdown for any recognized server
instance in the cluster.
See also
• See “Cluster Members and Components” on page 356 for more information on the Server Tools Cluster screens.
• See “Schedule a Planned Cluster Member Shutdown” on page 362 for information on starting or canceling a
planned cluster member shutdown.
-components Provides information about the components that exist on each PolicyCenter server in the cluster.
Procedure
1. Ensure that the PolicyCenter server is running.
2. Open a command prompt and navigate to the PolicyCenter installation directory:
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
See also
• “System Tools Command” on page 393
http://server:port/pc/ping?v=2
The ping utility returns the following types of information, depending on various factors, including whether the
server is a production server and whether the server start was successful.
{
"runLevelCode": 50,
"runLevelName": "MULTIUSER",
"runLevelOrdinal": 5,
"serverId": "PolicyCenterServer1",
"uptimeSeconds": 45
}
{
"runLevelCode": 40,
"runLevelName": "NODAEMONS",
"runLevelOrdinal": 3,
"serverId": "PolicyCenterServer1",
"startupException": "java.lang.RuntimeException: Test Startup Exception\n\tat
com.guidewire.pl.system.server.PingServerServletTest.
testInitTabStateJSONObjectShowsStartupException(PingServerServletTest.java:52)\n
\tat... ",
"uptimeSeconds": 40
}
The following code is an example of the ping utility return values if the PolicyCenter production server fails to start.
By default, PolicyCenter does not show the actual exception text and instead replaces the text with <not null>.
{
"runLevelCode": 40,
"runLevelName": "NODAEMONS",
"runLevelOrdinal": 3,
"serverId": "PolicyCenterServerPROD1",
"startupException": "<not null>",
"uptimeSeconds": 40
}
{
"attemptingTransition": {
"fromRunLevelName": "MULTIUSER",
"fromRunLevelOrdinal": 5,
"threadStackTrace": "Thread-142:TIMED_WAITING\n\tat sun.misc.Unsafe.park(Native Method)
\n\tat
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)\n\tat...”,
"toRunLevelName": "NODAEMONS",
"toRunLevelOrdinal": 3
},
"runLevelCode": 45,
"runLevelName": "DAEMONS",
154 chapter 8: Working with a PolicyCenter Cluster
Guidewire PolicyCenter 9.0.6 System Administration Guide
"runLevelOrdinal": 4,
"serverId": "PolicyCenterServer1",
"uptimeSeconds": 6814
}
Note: Use system_tools command options to transition a PolicyCenter server from one run level to
another.
{
"runLevelCode": 50,
"runLevelName": "MULTIUSER",
"runLevelOrdinal": 5,
"serverId": "testsrv1",
"uptimeSeconds": 1820
}
The following code is an example of the ping utility return values after starting a planned server shutdown from the
(Server Tools) Info Pages→Cluster Members page.
{
"plannedShutdownStatus": "activated",
"runLevelCode": 50,
"runLevelName": "MULTIUSER",
"runLevelOrdinal": 5,
"serverId":
"testsrv1",
"uptimeSeconds": 1825
}
The following code is an example of the ping utility return values after the server shutdown completes.
{
"plannedShutdownStatus": "ready",
"runLevelCode": 50,
"runLevelName": "MULTIUSER",
"runLevelOrdinal": 5,
"serverId": "testsrv1",
"uptimeSeconds": 1830
}
See also
• “Using the ping Utility with a Production Server” on page 153
• “Set the Server Run Level Through System Tools” on page 57
• “System Tools Command” on page 393
This topic discusses server component lease managers, lease management, and component lease load balancing.
Guidewire PolicyCenter supports both automatic and manual failover of a component lease from one cluster
member to another member of the cluster. However, there are situations in which an automatic component failover is
not desirable, for example:
• There is a need for further additional configuration of an external third-party product before it is possible to start
a destination or plugin on a different computer.
• There is a need for further diagnostic testing to determine the exact cause of failure before initiating the failover
process.
See also
• See “Automatic Failover of a Component Lease” on page 158 for a description of the automatic failover process
that occurs after a lease expires.
• See “The Background Task Failover Plugin” on page 160 for a description of the default plugin implementation
that Guidewire provides for handling component lease failover.
Postponed
Failed
Initially, each component lease starts in the Not Started failover state. If a lease expires, the first lease manager that
discovers the expired lease does the following:
• It sets the lease to the In Progress failover state. After set to this state, the component associated with the lease
cannot run anywhere until there is a resolution of the issue that caused the lease to expire.
• It sets the Retry Failover field in the Server Tools Cluster Components screen to the following value.
CurrentTime + BackgroundTaskFailoverPlugin.FailoverTimeout
If more than one lease manager discovers the expired lease at the same time, only the first lease manager continues
the failover handling. The other lease managers detect that their SQL updates do not change anything and do not
continue the failover process for that lease.
The lease manager that started the failover calls the handleComponentNameFailover method on the
BackgroundTaskFailoverPlugin plugin to determine what to do next with the lease. The method returns one of the
following actions to handle the component lease failover.
Possible Description
actions
Com‐ The BackgroundTaskFailoverPlugin plugin logic confirms the lease failure and instructs the lease manager to
plete the complete the failover. In this case, the lease manager completes the failover process, either by deleting or expiring
failover the lease.
Postpone It is possible that the BackgroundTaskFailoverPlugin plugin logic cannot reliably confirm the lease failure. In this
the fail‐ case, it can postpone the failover process by returning an associated action to take and the time duration to wait
over before taking that action. The lease manager updates the Retry Failover field in the Server Tools Cluster Components
screen with the following value:
Current Time + FailoverHandlingResult.Duration
After the updated retry failover time expires, the lease manager considers the lease expired and starts the process
of lease failover again.
Dismiss It is possible that the BackgroundTaskFailoverPlugin plugin logic decides the specified background task did not
the fail‐ fail, or, that this particular task requires some manual action. In this case, the BackgroundTaskFailoverPlugin
over plugin logic dismisses or fails the automatic failover of the lease. The lease with its FailoverState set to Failed
remains in the database until there is some kind of manual intervention. The failover process does not attempt to
retry the automatic failover.
Use ex‐ The BackgroundTaskFailoverPlugin plugin logic returns a failover handled acton. This action instructs the lease
ternal manager to do nothing with the lease. An external tool either deletes or renews the lease.
tool Calling an external tool to complete the failover can happen in any of the following ways:
• Programmatically calling the SystemToolsAPI.nodeFailed method.
• Programmatically calling the SystemToolsAPI.completeFailedFailover method.
• Clicking the Complete Failover button on the Server Tools Cluster Components screen.
If the cluster member that started the failover does not complete the failover in the specified retry failover time,
another cluster member detect this condition. The second cluster member then restarts the failover.
If at any point the original lease manager for the lease takes action to renew the lease, it does the following:
• It sets the FailOver state for the lease to Not Started.
• It resets the Retry Failover value to null.
At this point, the renewal of the lease resets the automatic failover process and negates any previous failover action
undertaken for the renewed lease.
<batch-process-config>
</batch-process-config>
env No Use to assign values for distinct installation environments. If used, this <settings> ele‐
ment applies only to the listed environments. To apply a specific <settings> element
to multiple environments, input multiple comma‐separated values for the env attrib‐
ute. A multi‐valued env attribute eliminates the need for a separate <settings> ele‐
ment for each environment.
The following table describes the attributes on the optional <param> element.
The following table describes the attributes on the optional <batch-process> element.
env No Use to assign values for distinct installation environments. If used, this <batch-process>
element applies only to the listed environments. To apply a specific <batch-process> ele‐
ment to multiple environments, you can input multiple comma‐separated values for the env
attribute. A multi‐valued env attribute eliminates the need for a separate <batch-process>
element for each environment.
The optional RetryIfInitialConditionsFail parameter governs the behavior of a batch process depending on the
return value of batch process class method checkInitialConditions. The name of the parameter is case-
insensitive.
This parameter takes the following values.
true If the batch process checkInitialConditions method returns false, the batch process does not terminate
immediately. Instead, it continues to execute until its component lease expires. This is the batch process default
behavior if the attribute is missing from batch-process-config.xml.
false If the checkInitialConditions method returns false, the batch process terminates immediately.
The <param> element supports the env attribute, meaning that it is possible to set this parameter for different
application environments, for example:
<paramname="RetryIfInitialConditionsFail" value="false"/>
<paramname="RetryIfInitialConditionsFail" value="false" env="dev"/>
<paramname="RetryIfInitialConditionsFail" value="true" env="prod"/>
Strategy Description
Work stealing Periodically transfers a component lease from an over‐utilized server to a server that is under‐utilized.
Work acquisition Provides under‐utilized servers with a chance to acquire a lease on an available component.
To enable or disable the use of each strategy, Guidewire provides the following plugin parameters.
Parameter Description
messageDestinationLoadBalancingMode Manages the load balancing strategies for message destinations.
Each of these plugin parameters can take one of the following values.
Value Description
disabled Disables both the work acquisition and work stealing strategies.
dynamic Enables both the work acquisition and work stealing strategies.
notransfer Enables the work acquisition strategy only.
Guidewire provides a way to deploy configuration changes to each individual server in a PolicyCenter cluster.
Guidewire calls this type of configuration deployment a rolling upgrade, in the sense that upgrade changes move
through the cluster, one server instance at a time. This type of configuration deployment is in contrast to a full
database and application upgrade. A full upgrade requires that you bring down all PolicyCenter servers in the cluster
to complete the upgrade. Typically, a full upgrade includes changes to the PolicyCenter database.
attempt to perform a rolling upgrade of the production PolicyCenter cluster if your changes affect those areas of the
application.
It is possible for individual PolicyCenter servers in the cluster to fail the configuration deployment process for a
variety of reasons. If so, you need to spend time testing and recovering from a failed attempt to return a server to a
safe state. In particular, you need to review any entities that possibly changed due to the deployment process.
See also
• “Configuration Compatibility” on page 167
• “Verification of Configuration Compatibility” on page 172
• “Unexpected Upgrades” on page 175
• Supports a command-line utility that checks the compatibility of the source and target configurations before
deployment.
• Supports configuration deployment management and tracking from within PolicyCenter.
It is possible to start a rolling upgrade from any server instance in the PolicyCenter cluster, from the Server Tools
Upgrade and Versions screen.
See also
• “Configuration Compatibility” on page 167
• “Verification of Configuration Compatibility” on page 172
• “Upgrade and Versions” on page 362
Configuration Compatibility
Guidewire permits changes to the following files, file types, and installation folders in PolicyCenter Studio during
configuration deployment to the individual members of a cluster.
See also
In general, the following typelist configuration changes are safe to make in a rolling upgrade:
• Adding a new typelist
• Adding one or more typecodes to an existing typelist, either by extension or otherwise
• Modifying the name, description, priority, and sort order of an existing typecode
168 chapter 10: Deploying Configuration Changes in a Clustered Environment
Guidewire PolicyCenter 9.0.6 System Administration Guide
Important
1. PolicyCenter provides the ability to reload product model availability data through the Server Tools Product
Model Info screen, by clicking Reload Availability. Guidewire disable this button during a rolling upgrade. The
button does not become active until a user clicks Rolling Upgrade Complete in the Server Tools Upgrade and
Versions screen.
2. Guidewire disables (makes inactive) all updates to product model patterns during a rolling upgrade in order to
preserve data integrity. After you complete the rolling upgrade, you must run Product Model Pattern
Activation batch processing to make active all product model patterns that you added in the configuration
update.
3. PolicyCenter upgrade logic automatically triggers the activation of product model patterns added during a
rolling upgrade if any node in the cluster restarts after the rolling upgrade completes. However, Guidewire
does not recommend that you uses this mechanism to activate product patterns. Run Product Model Pattern
Activation batch processing instead.
4. Guidewire specifically does not support the deletion of product model patterns in any type of upgrade.
Deploying Configuration Changes in a Clustered Environment 169
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Product Model Pattern Activation Batch Process” on page 116.
productmodel/policylinepatterns/LOB/coveragepatterns/*.xml
PolicyCenter stores the coverage term and coverage term option patterns associated with each clause in a specific
XML file for its parent clause. In the file path:
• LOB refers to a specific line of business, for example, PersonalAutoLine.
• * represents the coverage or exclusion pattern, for example, PACollisionCov.xml or
ExcludeCustomEquipment.xml.
Guidewire supports only the addition of patterns for these types (coverages, conditions, exclusions, and their
associated coverage term and coverage term options) during a rolling upgrade. Do not attempt to modify the
attributes of any existing pattern of these types during a rolling upgrade. It is possible, however, to add new children
to existing patterns. For example, it is possible to add a new coverage term to an existing coverage, or, a new
coverage term option to an existing coverage term.
Offering Patterns
PolicyCenter stores offering pattern data in XML files, in Studio directories of the following type under the
resources directory:
productmodel/products/product/offerings/*.xml
productmodel/questionsets/*.xml
Modifier Patterns
PolicyCenter stores modifier patterns in XML files, in Studio directories of the following types under the resources
directory:
productmodel/products/product/product.xml
productmodel/policylinepatterns/LOB/LOB.xml
productmodel/policylinepatterns/LOB/coveragepatterns/*-grandfathering.xml
productmodel/policylinepatterns/LOB/jurisdictions/jurisdiction/coveragepatterns/*-grandfathering.xml
productmodel/policylinepatterns/product/jurisdictions/jurisdiction/*-modifierminmax
productmodel/policylinepatterns/LOB/jurisdictions/jurisdiction/*-modifierminmax
proudctmodel/policylinepatterns/LOB/BusinessAutoLine/coveragepatterns
Correspondingly, PolicyCenter stores Alaska-specific lookups for the BAComprehensive coverage in the following
directory in Studio:
productmodel/policylinepatterns/BusinessAutoLine/jurisdictions/AK/coveragepatterns
Guidewire supports modifications to the files in these directories in the following ways only:
• By adding new lookup, grandfathering, and modifier minmax files to the directory
• By adding new lookup and grandfathering elements to existing files
Note: It is not necessary to use product model rolling upgrade to add new lookups or grandfathering
availability data. It is possible also to update the PolicyCenter server with this information, as well as
update availability scripts, using the Server Tools Reload Availability Data functionality. However, do not
attempt to use this functionality during the rolling upgrade itself.
See also
Configurations are different Requires a full server upgrade. Guidewire does not permit a configuration deployment (rolling
upgrade) using the target configuration.
Configurations are identical No upgrade is necessary.
Configurations are compatible Guidewire permits a configuration deployment of these changes.
If a configuration deployment is not possible, the command lists the incompatible or missing files.
If a configuration deployment is in progress, there are two possible configurations active in the cluster. Each
individual server instance in the cluster is using either the source configuration or the target configuration.
The -verifyconfig command option checks for both configurations on the cluster member on which you run the
command and reports which of the configurations is active on this cluster member. If neither configuration is active,
the command reports that a configuration deployment is in progress and that it is not possible to verify the
configuration at this time.
See also
Guidewire uses the following term definitions in the discussion on rolling upgrade.
172 chapter 10: Deploying Configuration Changes in a Clustered Environment
Guidewire PolicyCenter 9.0.6 System Administration Guide
Instance An individual PolicyCenter server running in a VM (Virtual Machine) or JVM (Java Virtual Machine) or
stand‐alone PolicyCenter server.
Test instance A PolicyCenter instance with the same data model and EAR/WAR build file as that used on a production
instance. The test cluster does not need to have the same number of test instances as the production
cluster. However, there needs to be at least two instances in the test cluster to be able to test the rolling
upgrade process.
Production instance A member of the production cluster accessed and used by external PolicyCenter users.
Next steps
After you complete these steps, continue to “Perform a Rolling Upgrade in a Test Environment” on page 173.
Procedure
1. In file database-config.xml, verify that the <database> element autoupgrade attribute is set to manual (or
non-existent).
If the attribute is missing, the default value for this attribute is manual. The value cannot be full.
2. Create a new EAR/WAR PolicyCenter build that includes all the proposed configuration changes. The build
name must includes some identification such as a date or a version number.
Deploying Configuration Changes in a Clustered Environment 173
Guidewire PolicyCenter 9.0.6 System Administration Guide
IMPORTANT Restarting any node in the cluster after you complete the rolling upgrade (after
you click Rolling Upgrade Complete) automatically triggers the activation of the added product
model patterns. Guidewire does not recommend that you activate the product model patterns in
this manner.
14. Perform acceptance testing on all the test instances to verify that PolicyCenter works as intended.
Next steps
If testing indicates that there are no issues with the new configuration running on all test instances, continue to
“Perform a Rolling Upgrade in a Production Environment” on page 174.
Procedure
1. In file database-config.xml, verify that the <database> element autoupgrade attribute is set to manual (or
non-existent).
If the attribute is missing, the default value for this attribute is manual. The value cannot be full.
2. On any instance in the PolicyCenter production cluster, navigate to the Server Tools Upgrade and Versions
screen.
174 chapter 10: Deploying Configuration Changes in a Clustered Environment
Guidewire PolicyCenter 9.0.6 System Administration Guide
IMPORTANT Restarting any node in the cluster after you complete the rolling upgrade (after
you click Rolling Upgrade Complete) automatically triggers the activation of the added product
model patterns. Guidewire does not recommend that you activate the product model patterns in
this manner.
11. Perform another round of acceptance testing to ensure that there are no issues with the new configuration.
Unexpected Upgrades
Any time that you deploy a new WAR/EAR file to a PolicyCenter server and restart the server, PolicyCenter
assumes that an upgrade is in progress. To prevent the unexpected upgrade of a server, Guidewire requires that you
set an upgrade flag in PolicyCenter before starting either a full or rolling upgrade.
Guidewire requires the use of this flag to mitigate the risk of accidentally triggering an unexpected upgrade. As a
consequence, however, it is possible to encounter situations in which the PolicyCenter server does not start. In that
case, you must undertake a recovery sequence to return the server to a state in which it can start.
Full Upgrade
For a full upgrade, Guidewire first requires that you click Start Full Upgrade in the Server Tools Upgrade and Versions
screen (on any cluster member). This action signals your intention to perform a full upgrade. PolicyCenter then sets
a database flag to indicate that a full upgrade is in progress. After you complete the upgrade, PolicyCenter deletes
the database flag. You must set the upgrade flag again before starting a new full upgrade.
It is possible to set the full upgrade in progress flag in the following ways as well.
Deploying Configuration Changes in a Clustered Environment 175
Guidewire PolicyCenter 9.0.6 System Administration Guide
System To set the upgrade flag through system tools, use the following command option:
tools system_tools -startfullupgrade
At least one cluster member must be running in order for you to use this option.
Web serv‐ To set the upgrade flag using web services, call the SystemToolsAPI web service method startFullUpgrade. At
ices least one cluster member must be running in order for you to use this option.
Java sys‐ To set the upgrade flag through a Java system property, use the following system parameter to set the expected
tem prop‐ date of the upgrade while starting one of the affected servers:
erty gwb runServer -Dgw.pc.full.upgrade.intended.date=date
The date parameter is the current date in yyyyMMdd format.
If you encounter a situation in which all cluster members refuse to start because the upgrade flag was not set, you
cannot set the upgrade flag through the server. Instead, you must set the upgrade flag using the Java system
parameter.
Rolling Upgrade
For a rolling upgrade, Guidewire first requires that you click Start Rolling Upgrade in the Upgrade and Versions screen
(on any cluster member). This action signals your intention to perform a rolling upgrade and sets a rolling upgrade
in progress database flag. If you do not set the upgrade flag, PolicyCenter refuses to start a rolling upgrade.
After you complete the upgrade of all servers in the cluster, you must click Rolling Upgrade Complete on the Upgrade
and Versions screen, which removes the upgrade flag. After you do so, it is not possible start a cluster member
running the source (old) configuration.
Guidewire permits a rolling upgrade of the individual members of a PolicyCenter cluster under certain conditions
only. In effect, the source (old) configuration and target (new) configuration must be compatible in very specific
ways.
Thus, during a rolling upgrade, if you mistakenly deploy an incompatible WAR/EAR file to a PolicyCenter server,
you can encounter a situation in which the server does not start. This is true whether you have set the rolling upgrade
in progress flag. In this case, remove the incompatible WAR/EAR file and deploy a compatible WAR/EAR file
before attempting to restart the server.
See also
• “Configuration Compatibility” on page 167
• “Verification of Configuration Compatibility” on page 172
IMPORTANT Before you begin the process of backing out a rolling upgrade of a PolicyCenter, first
shut down any cluster node that is running the new, target, application configuration.
If a rolling upgrade of a PolicyCenter cluster is in progress, the PolicyCenter Server Tools Upgrade and Versions
screen shows an Initiate Backout button. Clicking this button opens the back-out wizard screen. This screen provides
on-screen instructions on how to proceed with the back out of the rolling upgrade.
As part of the back out process, PolicyCenter runs an internal batch process to verify there are no orphaned
typecodes. At least one cluster member must have the batch server role in order to execute this process.
176 chapter 10: Deploying Configuration Changes in a Clustered Environment
Guidewire PolicyCenter 9.0.6 System Administration Guide
Configuration Changing the value of a general It does not matter whether you initiate a full upgrade from the
configuration parameter, one that is Server Tools Upgrade and Versions screen. In any case, the application
neither permanent nor semi‐permanent. server starts without any errors or warnings and PolicyCenter
PolicyCenter reads these kinds of changes updates the Upgrade and Versions screen.
from configuration files.
Security Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
chapter 11
IMPORTANT Computer security and encryption is a complex topic in which network architecture
plays a major role. Use this documentation as a starting point. Guidewire strongly recommends that
you also perform independent research and testing to develop a secure solution for your company
network and installed applications. Guidewire strongly recommends that you deploy PolicyCenter
over TLS (Transport Layer Security) for at least the login and change password pages. Ideally, deploy
PolicyCenter entirely under TLS to protect all sensitive transmitted data.
Guidewire provides several Java property overrides to set the default TLS version to use on outgoing secured
connections. You can use these property overrides with either the paid support or the free versions of JDK 7. Use
these property overrides to provide a comma-separated list of TLS protocol versions. PolicyCenter uses the first item
on the list as the preferred protocol. If that protocol is not available, PolicyCenter tries the subsequent protocols on
the list until the connection either succeeds or fails completely.
The following table lists the available property overrides.
See also
• “The PolicyCenter Connection Address” on page 182
Suppose, for some reason, that you want to restrict access to the Activity Patterns Detail screen on a production system.
Opening up ActivityPatternDetails.pcf in Studio shows the following properties:
• canEdit
• canVisit
To not permit access to the Activity Patterns Detail screen on a production system, enter the following value for the
canVisit property:
gw.api.system.server.ServerUtil.getEnv() != "PROD"
The canVisit property must evaluate to true for the Activity Patterns Detail screen to be accessible to a PolicyCenter
administrative user. If the server is in development or test mode, the expression evaluates to true and PolicyCenter
allows access to the screen.
Multifactor Authentication
Multifactor authentication, as the name implies, requires a user to provide two or more pieces of data (factors) to an
authentication mechanism as proof of identity. For example, a bank can require, in addition to name and password, a
code that the bank sends to the user's smart phone.
Guidewire provides the ability to pass multiple additional factors from the application login screen to PolicyCenter
for processing. To implement the simplest, most basic, form of multifactor authentication, which is the addition of a
multifactor entry field to the PolicyCenter login screen, you need to do the following:
• Make visible the multifactor entry field on the PolicyCenter login screen.
• Add additional Gosu classes to support the use of multifactor authentication in PolicyCenter.
Procedure
1. In PolicyCenter Studio, open the display_xx.properties file for your locale and add something similar to
the following display keys to the file in appropriate place:
XXX and YYY represent constants from the supporting multifactor authentication classes.
MFAAuthenticationSource.FACTOR_ATTRIBUTE_NAME, represents one such constant, for example.
3. Open file LoginDV.pcf in the following Studio directory:
configuration/config/web/login
a. Select the field with the label factor.Label. label.
b. In the Properties tab at the bottom of the screen, select property numCols and set its value to 20.
This action sets the length of all of the new entry fields on this screen to the same length as the existing
entry fields.
4. If using an application server other than the default Quickstart server, create and deploy a WAR or EAR file as
necessary.
5. Start the PolicyCenter server and let it compile the newly added code.
Result
Upon opening the PolicyCenter login screen, you see the additional RSA fields.
Next steps
To make the new multifactor authentication fields functionally useful, you must implement custom implementation
classes for the following plugins, among other configuration changes:
• AuthenticationServicePlugin
• AuthenticationSourceCreatorPlugin
See the Integration Guide for more information.
Guidewire designs its security infrastructure so that you can add custom permissions, automatically enforce
permissions, and easily map between users, permissions, and actions. This topic explains how to use the
PolicyCenter permission infrastructure to control access to key PolicyCenter objects.
“System Permission Keys” on page 186 System permission keys apply to specific user interface elements or data model enti‐
ties.
“Application Permission Keys” on page Application permission keys represent a set of one or more system permissions.
186
You can view a list of both system and application permission keys in the Guidewire Security Dictionary.
See also
• Configuration Guide
Screen‐level Permissions
Screen-level permissions apply to user interface elements, for example, the permission to view the administrative
Server Tools screens. PolicyCenter defines many user interface permissions internally.
In general, screen-level permissions start with the word “view” followed by a reference to the user interface object
they protect. You can add custom screen-level permissions to Guidewire PolicyCenter by extending the
SystemPermissionType typelist.
PCF files define the point at which PolicyCenter calls user interface permissions. It is possible to change this point
by customizing the PCF file that calls it.
Domain‐level Permissions
Domain permissions apply to data model entities, such as permission to view Note objects. For example, as a user
attempts to access the summary for a sensitive note, PolicyCenter verifies that the user has the following
permissions:
• Permission to view the Policy screen
• Permission to access that particular note type
Most top-level objects in the PolicyCenter data model have associated domain-level permissions. PolicyCenter
defines all of an object’s domain-level permissions internally. It is not possible to add, remove, or edit domain
permissions. Similarly, PolicyCenter defines the points at which it checks these permissions in internal code and in
page configuration format (PCF) files. You cannot change the internal checks. You can, however, change the point at
which the PCF files calls these checks.
See also
• “The Security Configuration File” on page 187
• Configuration Guide
PolicyCenter does not generate permissions automatically for the subtypes of an entity. You must explicitly add the
entity subtype to security-config.xml for PolicyCenter to generate permissions for that subtype.
See also
See also
• “Understanding the Object Access Infrastructure” on page 185
• “Access Control Configuration Files” on page 187
You access this permission in code as perm.entity.perm. This syntax has the following meaning:
• entity – The business object or entity on which the permission acts.
• perm – The permission given for this entity.
The attributes on the various elements have the following meanings.
Notice that:
• The security permissions work on a User entity.
• The application permission key is ViewProfiler.
• The handler lists a set of specific system permission types to which the handler grants the user access, if any of
the conditions are met.
To have the ViewProfiler application permission, the user must have an assigned role that contains one or more of
the listed system permissions.
if (perm.User.ViewProfiler) ...
The sample code condition evaluates to true if the current user has an assigned role with either the internaltools
permission or the toolsprofilerview permission.
See also
• “The Security Configuration File” on page 187
• “Wrap Handler Elements” on page 189
You access this permission in code as perm.entity.perm. This syntax has the following meaning:
• entity – The business object or entity on which the permission acts.
• perm – The permission given for this entity.
The attributes on the various elements have the following meanings.
The following example illustrates a <StaticHandler> element with two cascading <WrapHandler> elements
following it.
(perm.System.internaltools OR perm.System.toolsProfilerview)
AND (perm.System.internaltools OR perm.System.toolsProfilerEdit)
AND (permission.System.toolsProfilerwebserivceedit)
For this compound condition to evaluate to true, all of the following conditions must be true:
• The user must have a role that contains either the interntools or toolsProfilerview system permission as
specified in ViewProfiler static handler.
• The user must have a role that contains either the interntools or toolsProfileredit system permission as
specified in the EditProfiler wrap handler.
• The user must have a role that contains the toolsProfilerwebservicesedit system permission as specified in
the EditWebServiceProfiler wrap handler.
Only if the user meets all sets of security criteria does the security handler permit the user to have the specified
application permission (EditwebserviceProfiler).
See also
• “The Security Configuration File” on page 187
• “Static Handler Elements” on page 188
This topic explains how to use the PolicyCenter permission infrastructure to control access to document and note
objects.
See also
See also
• For information on the various security handler elements, see “The Security Configuration File” on page 187.
• For information on permissions, refer to the system permissions area of the PolicyCenter Security Dictionary.
• For information on typelists, refer to Guidewire Studio™ for PolicyCenter or the typelists area of the
PolicyCenter Data Dictionary.
Securing Access to Notes and Documents 193
Guidewire PolicyCenter 9.0.6 System Administration Guide
<NotePermissions>
<NoteAccessProfile securitylevel="level">
<NoteCreatePermission permission="perm"/>
<NoteDeletePermission permission="perm"/>
<NoteEditBodyPermission permission="perm"/>
<NoteEditPermission permission="perm"/>
<NoteViewPermission permission="perm"/>
</NoteAccessProfile>
</NotePermissions>
The following code sample illustrates the security access levels for the Sensitive security access type.
<NotePermissions>
<NoteAccessProfile securitylevel="sensitive">
<NoteViewPermission permission="viewsensnote"/>
<NoteEditPermission permission="editsensnote"/>
<NoteDeletePermission permission="delsensnote"/>
</NoteAccessProfile>
</NotePermissions>
Note: PolicyCenter grants access permissions based on the roles assigned to a user only. It is not
possible to restrict Note access based on security zones or groups.
See also
• For information on security handler elements, see “The Security Configuration File” on page 187.
• For information on permissions, refer to the system permissions area of the PolicyCenter Security Dictionary.
• For information on typelists, refer to Guidewire Studio™ for PolicyCenter or the typelists area of the
PolicyCenter Data Dictionary.
<DocumentPermissions>
<DocumentAccessProfile securitylevel="level">
<DocumentCreatePermission permission="perm"/>
<DocumentDeletePermission permission="perm"/>
<DocumentEditPermission permission="perm"/>
<DocumentViewPermission permission="perm"/>
</DocumentAccessProfile>
</DocumentPermissions>
The following code sample illustrates the security access levels for the Unrestricted and Internal Only security
access types. Notice that unrestricted documents have no access controls set.
<DocumentPermissions>
<DocumentAccessProfile securitylevel="unrestricted"/>
<DocumentAccessProfile securitylevel="internalonly">
<DocumentViewPermission permission="viewintdoc"/>
<DocumentEditPermission permission="editintdoc"/>
<DocumentDeletePermission permission="delintdoc"/>
</DocumentAccessProfile>n="delsensdoc"/>
</DocumentAccessProfile>
</DocumentPermissions>
Note: PolicyCenter grants these permissions based on the user’s roles alone. You cannot restrict
document access based on security zones or groups.
This topic explains how to use the PolicyCenter permission infrastructure to control access to PolicyCenter
accounts, jobs and policy periods.
See also
PolicyCenter typically limits account visibility to users who have one of the producer codes associated with the
policies on the account. Producer status is an additional means of restricting access to account information. For
example, you can use a producer status of Suspended to limit the actions that user can take on that account or the
information that is visible on the account.
An <AccountProducerCodeHandler> element that does not contain a <ProducerStatus> element grants the
specified permission without restriction to producers with a status is Active. The following example illustrates this
concept.
<AccountProducerCodeHandler permKey="createForProducerCode"
desc="Permission to create account for a particular producer code">
<SystemPermType code="accountcreate"/>
</AccountProducerCodeHandler>
As there is no <ProducerStatus> element in this example, the permission handler grants the ability to create a new
account to any producer with a status of Active.
The following example illustrates an <AccountProducerCodeHandler> element that contains multiple producer
status codes.
Notice that:
• The application permission key is view.
• The system permission type is viewaccount.
• The element explicitly grants permission to view an account to producers with a status of Limited, Suspended,
or Terminating. PolicyCenter gives any producer with a status of Active this permission automatically. Thus,
all producers can view accounts associated with their producer code except those producers with a status of
Terminated. As always, producers can only view accounts associated with their producer code.
See also
Notice that:
• The value of jobType is Reinstatement.
• The application permission key is view.
• The system permission type is viewreinstate.
• The element explicitly grants permission to view the details of a policy reinstatement job to producers with a
status of Limited. PolicyCenter gives any producer with a status of Active this permission automatically. Thus,
only producers with a status of Active or Limited can view the details of reinstatement submission job.
See also
• “The Security Configuration File” on page 187
• “Static Handler Elements” on page 188
Securing Access to Accounts, Jobs, and Policy Periods 199
Guidewire PolicyCenter 9.0.6 System Administration Guide
• Application Guide
ProducerStatus code Yes The status of the producer associated with the
policy. This must be a value defined in the
ProducerStatus typelist.
200 chapter 14: Securing Access to Accounts, Jobs, and Policy Periods
Guidewire PolicyCenter 9.0.6 System Administration Guide
Notice that:
• The application permission key is view.
• The value of isAllowedForPCOfRecord is true. Thus, only a producer whose producer code matches the
producer code on the policy can see the policy file.
• The system permission type is viewpolicyfiles.
• The element explicitly grants permission to view a policy file to producers with a status of Limited.
PolicyCenter gives any producer with a status of Active this permission automatically. Thus, only producers
with a status of Active or Limited can view the details of policy file. As indicated by the
isAllowedForPCOfRecord element a producer can only view a policy file associated with its producer code.
See also
• “The Security Configuration File” on page 187
• “Static Handler Elements” on page 188
• Application Guide
202 chapter 14: Securing Access to Accounts, Jobs, and Policy Periods
part 5
Database Administration
Guidewire PolicyCenter 9.0.6 System Administration Guide
chapter 15
Database Configuration
This topic discusses database configuration file database-config.xml and how to use the file to configure
PolicyCenter database options.
See also
• “Database Best Practices” on page 237
• “Guidewire Database Direct Update Policy” on page 239
• “PolicyCenter Database Back Up” on page 240
• “Database Consistency Checks” on page 240
• “Resize Database Columns” on page 244
• “Purging Unwanted Data” on page 245
• “Understanding Database Statistics” on page 255
See also
• “The Database Configuration File” on page 205
• “Database Parameters” on page 339
<!-- Sets options for the generation of database statistics at the global, database level -->
<databasestatistics databasedegree="integer" incrementalupdatethresholdpercent="integer"
numappserverthreads="integer" samplingpercentage="integer" useoraclestatspreferences="true|false">
<!-- Sets database statistics options for the named table -->
<tablestatistics action="delete|keep|update" databasedegree="integer" name="string"
samplingpercentage="integer">
<!-- Sets database statistics options for the named column on the named table -->
<histogramstatistics name="string" numbbuckets="integer"/>
</tablestatistics>
</databasestatistics>
<!-- Sets options for the connection pool that Guidewire provides -->
<dbcp-connection-pool jdbc-url="string" max-idle="integer" max-total="integer" max-wait="integer"
min-evictable-idle-time="integer" num-tests-per-eviction-run="integer" password-file="string"
test-on-borrow="true|false" test-on-return="true|false" test-while-idle="true|false"
time-between-eviction-runs="integer" when-exhausted-action="block|fail|grow">
<reset-tools-params collation="string" oracle-tnsnames="string" system-password="string"
system-username="string"/>
</dbcp-connection-pool>
<!-- Sets the data source for a JBoss, Tomcat, WebLogic, or WebSphere application server-->
<jndi-connection-pool datasource-name="string"/>
<mssql-db-ddl>
<!-- Sets SQL Server database options at the global, database level -->
<mssql-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW/>
<mssql-filegroups admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
<!-- Set SQL Server options for the named table, overrides values set at database level -->
<mssql-table-ddl table-name="string">
<mssql-index-ddl filter-where="string"index-compression="NONE|PAGE|ROW"
index-filegroup="string" key-columns="string" partition-scheme="string"/>
<mssql-table-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW"/>
<mssql-table-filegroups="string" index-filegroup="string" lob-filegroup
table-filegroup="string"/>
</mssql-table-ddl>
</mssql-db-ddl>
<ora-db-ddl>
<!-- Sets Oracle database options at the global, database level -->
<ora-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>
<tablespaces admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
<!-- Sets Oracle options for the named table, overrides values set at the database level -->
<ora-table-ddl table-name="string">
<ora-index-ddl index-compression="true|false" index-tablespace="string" key-columns="string"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>
<ora-table-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE">
<ora-table-date-interval-partitioning datecolumn="string"
interval="DAILY|MONTHLY|QUARTERLY|WEEKLY|YEARLY">
<ora-table-hash-partitioning hash-columns="string" num-partitions="integer"/>
</ora-db-ddl>
<versiontriggers dbmsperfinfothreshold="integer">
<!-- Sets override options for the named database version trigger -->
<versiontrigger extendedquerytracingenabled="true|false" name="string"
parallel-dml="true|false" parallel-query="true|false"
queryoptimizertracingenabled="true|false" recordcounters="true|false"
updatejoinorderedhint="true|false" updatejoinusemergehint="true|false"
updatejoinusenlhint="true|false"/>
</versiontriggers>
</upgrade>
</database>
File database-config.xml contains a single root-level <database> element that takes the following attributes.
name Required. String identifying the database for which PolicyCenter uses this connection specification.
dbtype Required. Database type, either h2 (for the QuickStart database), oracle, or sqlserver.
The following attributes are all optional.
addforeignkey Used only for development and testing. Do not use this attribute in production. The default is true.
autoupgrade Use to set how to upgrade the database. Valid values are:
• full – Takes precedence and initiates a full upgrade assuming all other necessary conditions are
met.
• manual – Requires that you set either the database upgrade type (in Server Tools Upgrade and
Versions screen) or the date system property.
checker Boolean. Whether PolicyCenter runs consistency checks before it starts:
• Development environments – For development environments with small data sets, you can enable
consistency checks to run each time the PolicyCenter server starts. Set the value of checker in the
database block to true to enable checks on server startup.
• Production environments – Running consistency checks upon server startup can take a long time,
impact performance severely, and possibly time out on very large datasets. Set the value of checker
in the database block to false to disable checks on server startup.
Valid values are:
• true – Guidewire recommends that you only set checker to true in development environments
with a small set of test data.
• false – Guidewire recommends that you set checker to false under most circumstances.
The default is true.
See the following for more information:
• “Database Consistency Checks” on page 240
• “Configure Consistency Checks to Run at Server Start” on page 242
env Use of the env attribute to set a server environment enables you to provide different database configu‐
rations for different server environments. For example, you can set up different database configurations
for a production environment and a test environment.
See “Example Syntax for Registry Server Element” on page 44 for more information.
printcommands Boolean. Whether the server prints database upgrade messages to the console upon startup. Valid val‐
ues are:
• true ‐ By default, Guidewire sets the value of printcommands to true in the base configuration.
• false ‐ Do not set printcommands to false in a production environment.
The default is true.
versionchecksonly Boolean. Whether the PolicyCenter server runs only database version checks at startup, without per‐
forming any actual database upgrade steps:
• true ‐ PolicyCenter runs all version checks regardless of a failure in one of the checks.
• false ‐ PolicyCenter stops the upgrade if it detects an error.
The default is false. Changes to this attribute take effect only during an application upgrade.
The <database> element takes the following subelements. There is, at most, a single occurrence of each of these
subelements in the <database> element.
databasestatistics Specifies parameters that control the generation of database statistics. See “The databasestatistics
Database Configuration Element” on page 209 and “Database Statistics Generation” on page 255
for more information.
dbcp-connection-pool Specifies parameters for connection pool shared using dbcp. You must include this subelement if us‐
ing a dbcp data source. See “The dbcp‐connection‐pool Database Configuration Element” on page
210 and the Installation Guide for more information.
jndi-connection-pool Specifies parameters for a connection pool shared using JNDI. You must include this subelement if
using a jndi data source. See “The jndi‐connection‐pool Database Configuration Element” on page
213 and the Installation Guide for more information.
oracle-settings Specifies settings for Oracle databases. See “The oracle‐settings Database Configuration Element” on
page 216 and the Installation Guide for more information.
sqlserver-settings Specifies settings for SQL Server databases. See “The sqlserver‐settings Database Configuration Ele‐
ment” on page 217 and the Installation Guide for more information.
upgrade Specifies PolicyCenter behavior during a database upgrade. See “The upgrade Database Configura‐
tion Element” on page 217 for more information.
See also
• Installation Guide
autoupgrade Description
attribute
full Whenever the application server starts, if it determines the need for a full upgrade, the presence of this
attribute set to full is sufficient permission to perform the upgrade. With this setting:
• If a rolling (configuration) upgrade is already in progress as the server starts, the server throws an
exception, to force the choice of an upgrade type.
• If a full upgrade is already in progress by other means as the server starts, there is no issue as this setting
is consistent with the a full upgrade.
manual This setting requires that you explicitly set the permission to upgrade through one of the following means:
• Setting the database upgrade type in the Server Tools Upgrade and Versions screen and initiating the
upgrade from that screen.
• Setting the following Java system property to the current date as the application server starts:
-Dgw.pc.full.upgrade.intended.date
See “Unexpected Upgrades” on page 175 for a discussion of the use of this Java system property.
You must set the value of autoupgrade to manual if performing a rolling (configuration) upgrade.
Not set Not set or manual The server does not start, the upgrade fails, and PolicyCenter logs an error message.
The following table describes the interactions between setting Start Full Upgrade on the Upgrade and Versions screen and
the value of the autoupgrade attribute during deployment of non-data model changes to a production mode server.
autoupgrade Result
full If you set the value of autoupgrade attribute to full, any attempt to start a rolling upgrade fails. In addition,
you must always set the upgrade type (full) using the Server Tools Upgrade and Versions screen, or, by using the
system_tools -startfullupgrade command option, for example.
manual If you set the value of autoupgrade attribute to manual, you must always set the upgrade type (full or rolling) or
the upgrade fails. You can set the upgrade type in the Server Tools Upgrade and Versions screen or by setting a
JVM parameter at server startup. For a rolling upgrade, the new configuration (database-config.xml) must set
this value to manual. This new value overrides any value set in the old configuration.
Not set If you do not set the value of autoupgrade attribute, PolicyCenter assumes a default value of manual and
behaves accordingly.
<database>
<!-- Sets database statistics options for the named table -->
<tablestatistics action="delete|keep|update|force" databasedegree="integer" name="string"
samplingpercentage="integer">
<!-- Sets database statistics options for the named column on the named table -->
<histogramstatistics name="string" numbbuckets="integer" />
</tablestatistics>
</databasestatistics>
</database>
The following list describes the attributes that you can configure on the <databasestatistics> element. All of
these attributes are optional. See “The Database Statistics Element” on page 261 for more information on these
attributes.
databasedegree On Oracle, this attribute controls the degree of database parallelism that Oracle uses
in executing each individual statement. The default is 1. PolicyCenter uses the value
of this attribute for all statements.
SQL Server ignores the databasedegree attribute.
incrementalupdatethresholdpercent This attribute specifies the percentage of table data that must have changed since
the last statistics process for the incremental statistics generation batch process to
update statistics for the table.
numappserverthreads On both Oracle and SQL Server, the numappserverthreads attribute controls the
number of threads that PolicyCenter uses to update database statistics for staging ta‐
bles during import only.
samplingpercentage The behavior of this attribute depends on the database type. For Oracle, Guidewire
recommends that you always set this value to 0 to enable Oracle auto‐sampling.
useoraclestatspreferences On Oracle, this attribute sets the database statistics preferences to be able to use the
Oracle Autotask infrastructure instead of the DBStats batch process from
PolicyCenter. The default is false, which requires that you disable the Autotask and
schedule DBStats batch processing in its place. Changes to the value of this attribute
only take effect during an application upgrade.
tablestatistics Provides overrides of database‐wide statistics settings defined on the <databasestatistics> element for
a specific table. There can be multiple occurrences of the <tablestatistics> subelement on the
<databasestistics> element.
See also
• “The Database Configuration File” on page 205
• “Understanding Database Statistics” on page 255
• “Configuring Database Statistics Generation” on page 260
• “The Database Statistics Element” on page 261
• “The Table Statistics Database Element” on page 264
• “Database Statistics” on page 343
• “Using Oracle AutoTask for Statistics Generation” on page 262
• “System Tools Options” on page 393
Note: Guidewire implements its own version of the Apache Commons Pool, overriding specific
values to provide improved functionality.
If you experience slow performance, it is possible that the PolicyCenter server is not allocating enough database
connections. If all database connections are in use, any client attempting to connect to the server must wait until a
connection is free. By default, PolicyCenter periodically tests connections in the connection pool using a simple
query and evicts idle connections and those that fail with an exception.
The <dbcp-connection-pool> element has the following syntax. The following code sample shows required
attributes in bold font.
<database>
<!-- Sets options for the connection pool that Guidewire provides -->
<dbcp-connection-pool jdbc-url="string" max-idle="integer" max-total="integer" max-wait="integer"
min-evictable-idle-time="integer" num-tests-per-eviction-run="integer" password-file="string"
test-on-borrow="true|false" test-on-return="true|false" test-while-idle="true|false"
time-between-eviction-runs="integer" when-exhausted-action="block|fail|grow">
<reset-tools-params collation="string" oracle-tnsnames="string" system-password="string"
system-username="string"/>
</dbcp-connection-pool>
</database>
The following list describes the attributes that you can configure on the <dbcp-connection-pool> element.
Note: These attributes apply only if you use the default connection pool. If you use the server
connection pool, these settings do not apply. Configure the server connection pool instead through the
administration console provided with the server. See the Installation Guide for more information.
jdbc-url Required. Stores connection information for the database. The format of the jdbc-url value changes de‐
pending on the database type. See the Installation Guide for more information.
The following attributes are all optional.
max-idle Maximum number of connections that can sit idle in the pool at any time. If negative, there is no limit to the
number of connections that can be idle at any given time. The default is ‐1.
max-total Maximum number of connections that the connection pool can allocate, including those in use by a client or
that are in an idle state awaiting use. A reasonable initial value for this is about 25% of the number of users
that you expect to use PolicyCenter at the same time.
If set to a negative integer, there is no limit to the number of allowed database connections. The default is ‐1.
If the number of database connections reaches the value of max-total, PolicyCenter considers the connec‐
tion pool to have no more available connections.
max-wait Maximum amount of time, in milliseconds, that the data source waits for a connection before one becomes
available in the pool to service. The default is 30000.
The value of the max-wait attribute interacts with the when-exhausted-action attribute. See that attribute
for more information.
min- Maximum time, in milliseconds, that a connection can sit idle in the pool before it is eligible for eviction due
evictable- to idle time. If a connection is idle more the specified number of milliseconds, PolicyCenter evicts the connec‐
idle-time tion from the pool. The default is 300000 milliseconds.
If this value is a non‐positive integer, PolicyCenter does not drop connections from the pool due to idle time
alone. This setting has no effect unless the value of time-between-eviction-runs is greater than 0.
During an eviction run, PolicyCenter scans the connection pool and tests the number of idle connections
equal to the value of num-tests-per-eviction-run.
num-tests- Number of idle connections that PolicyCenter tests in each eviction run. This setting has no effect unless the
per- value of time-between-eviction-runs is greater than 0. The default is 3.
eviction-run
password- Use to hide the value of the database connection password in the jdbc-url connection string. Instead of
file providing the password in the connection string, you can place the password in an external file and reference
this file from file database-config.xml. See the Installation Guide for more information.
test-on- Boolean. Whether PolicyCenter tests a connection by running a simple validation query as PolicyCenter first
borrow borrows the connection from the connection pool. If set to true, the connection pool attempts to validate
each connection before PolicyCenter uses the connection from the connection pool. If a connection fails vali‐
dation, the connection pool drops the connection and chooses a different connection to borrow. The default
is false.
PolicyCenter returns any connection used only for a query to the pool immediately after the query com‐
pletes. Thus, running a test query every time that a connection returns to the pool can potentially affect per‐
formance.
test-on- Boolean. Whether PolicyCenter tests a connection by running a simple validation query as PolicyCenter re‐
return turns the connection to the connection pool. If set to true, the connection pool attempts to validate each
connection that PolicyCenter returns from the database. The default is false.
PolicyCenter returns any connection used only for a query to the pool immediately after the query com‐
pletes. Thus, running a test query every time that a connection returns to the pool can potentially affect per‐
formance.
test-while- Boolean. Whether PolicyCenter performs validation on idle connections in the connection pool. If set to true,
idle the connection pool performs validation on idle connections. It drops connections that fail the validation test.
The default is true.
This attribute value has no effect unless the value of time-between-eviction-runs is greater than zero.
time- Time, in milliseconds, that PolicyCenter waits between eviction runs of idle connections in the connection
between- pool. The default is 60000.
eviction- If set to a a non‐positive integer, PolicyCenter does not launch any eviction threads.
runs
when- Specifies the behavior of the connection pool if the pool has no more connections. Set this attribute to one of
exhausted- the following values:
action • fail – If the there are no more connections available, PolicyCenter throws a NoSuchElementException
exception.
• grow – If there are no more connections available, PolicyCenter creates a new connection and returns it,
essentially making max-active meaningless.
• block – If there are no more connections available, PolicyCenter blocks connections until a new or idle
connection becomes available. If the value of max-wait is positive, then PolicyCenter blocks, at most, for
that number of milliseconds, after which PolicyCenter throws a NoSuchElementException exception. If
the value of max-wait is non‐positive, PolicyCenter blocks indefinitely.
The default is block.
reset-tools-params See “The reset‐tool‐params Database Configuration Element” on page 212 for more information.
See also
• “The Database Configuration File” on page 205
• “Database Parameters” on page 339
<database>
<dbcp-connection-pool>
<reset-tools-params collation="string" oracle-tnsnames="string" system-password="string"
system-username="string"/>
</dbcp-connection-pool>
</database>
The following list describes the attributes that you can configure on the <reset-tools-params> element. All of
these attributes are optional.
collation Collation value to use if creating a new H2 (QuickStart) or SQL Server database:
• H2 – Sets database collation using the Java Collation class.
• SQL Server – Sets database collation to a Microsoft Window’s or SQL collation name.
DBResetTool (dropdb) uses the value of this attribute if creating a new H2 or SQL Server database.
See also
• “The Database Configuration File” on page 205
<database>
<!-- Sets the data source for a JBoss, Tomcat, WebLogic, or WebSphere application server-->
<jndi-connection-pool datasource-name="string"
connections-initialized-for-application="true|false"/>
</database>
IMPORTANT If you modify the <jndi-connection-pool> element in any way, you must restart the
application server.
The following list describes the attributes that you can configure on the <jndi-connection-pool> element.
datasource-name Required. Specifies the JNDI name to assign to the data source. See the
Installation Guide for more information.
The following attribute is optional.
connections-initialized-for-application (Oracle) Boolean. Controls the number of SQL statements that PolicyCenter
executes on every connection that it borrows from an external data source.
This setting applies to the named JNDI database connection set up in this
<jndi-connection-pool> element only.
Valid values are:
• true – If configured appropriately, the data source provides
connections with certain Oracle database parameters set to their
desired values.
• false – PolicyCenter runs a set of SQL statements on each and every
database connection that it borrows from the data source.
Database Configuration 213
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
If you set the value of attribute connections-initialized-for-application to true, you must provide the
correct settings for the Oracle database parameters that the external data sources uses for connection initialization. If
you do not initialize the connections properly, the application server refuses to start and logs an error message for
each incorrect setting. Guidewire recommends that you set this attribute to true, then start the application server.
You can then determine the correct values to use for your database from the log error messages.
In general, the Oracle database parameters to use for connection initialization have the following meanings:
To use this feature, you must configure the application server to manage the connection initialization. See “Set
Oracle Database Parameters for Connection Initialization” on page 215 for more information.
If you set the value of attribute connections-initialized-for-application to false, the external data source
takes no action to configure the borrowed connections before placing an item in the connection pool. This causes
PolicyCenter to run a set of SQL statements on each and every connection that it borrows from the data source.
Although the cost in time of each of these statements is very small, Guidewire applications sometimes borrow
connections at a very high rate. Thus, it is possible for the time to execute these statements to become measurable
and to become visible during performance analysis in the Guidewire Profiler.
Procedure
1. Set attribute connections-initialized-for-application on the <jndi-connection-pool> element to
true.
2. Start the application server.
3. From the server log, determine the exact values to set for connection initialization.
4. Depending on your application server, set up the connection initialization as appropriate.
See “Connection Initialization for Oracle Databases” on page 215 for more information.
5. After completing your initialization configuration, restart the application server and Guidewire PolicyCenter.
SQL BEGIN
DBMS_APPLICATION_INFO.SET_MODULE('PolicyCenter_PCPROD1', NULL);
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT = BINARY_CI';
END;
Note: In the sample code, replace PolicyCenter_PCPROD1 with the actual name of the Oracle
database followed by the logon user username.
See also
• “Configuring JNDI Connection Initialization for Oracle” on page 214
END;
/
Note: In the sample code, replace Guidewire schema owner with Oracle database system username.
Replace PolicyCenter_PCPROD1 with the actual name of the Oracle database followed by the logon
user username.
See also
• “Configuring JNDI Connection Initialization for Oracle” on page 214
<database>
</database>
The following list describes the attributes that you can configure on the <oracle-settings> element. All of these
attributes are optional.
adaptive- Specifies the behavior of the Oracle Adaptive Optimization feature. Valid values are:
optimization • OFF
• REPORTING_ONLY
db-resource-mgr- Name of an Oracle Resource Consumer Group, if any.
cancel-sql
See also
• “The Database Configuration File” on page 205
<database>
...
<sqlserver-settings jdbc-trace-file="string" jdbc-trace-level="string"
unicodecolumns="true|false"/>
...
</database>
The following list describes the attributes that you can configure on the <sqlserver-settings> element. All of
these attributes are optional.
jdbc-trace-file Specifies the name of the trace file. If you do not provide a file name, this value defaults to the following:
C:\temp\msjdbctrace%u.log
PolicyCenter replaces the symbols in the file name at runtime with their meaning as listed at the follow‐
ing web site.
http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/FileHandler.html
Use the listed symbols to uniquely name the trace file.
jdbc-trace-level Valid trace level as listed at the following web site:
http://msdn.microsoft.com/en-us/library/ms378517(SQL.90).aspx?ppud=4
unicodecolumns Required if starting a new database that exclusively uses Unicode‐capable column character data types
(nvarchar, …). PolicyCenter ignores this attribute if the database does not support Unicode or if the at‐
tribute is not relevant to the new database. The default is false.
See also
• “The Database Configuration File” on page 205
• Installation Guide
<database>
<upgrade>
<mssql-db-ddl>
<!-- Sets SQL Server database options at the global, database level -->
<mssql-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW/>
<mssql-filegroups admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
<!-- Set SQL Server options for the named table, overrides values set at database level -->
<mssql-table-ddl table-name="string">
<mssql-index-ddl filter-where="string"index-compression="NONE|PAGE|ROW"
</mssql-db-ddl>
<ora-db-ddl>
<!-- Sets Oracle database options at the global, database level -->
<ora-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>
<tablespaces admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
<!-- Sets Oracle options for the named table, overrides values set at the database level -->
<ora-table-ddl table-name="string">
<ora-index-ddl index-compression="true|false" index-tablespace="string" key-columns="string"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>>
<ora-table-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE">
<ora-table-date-interval-partitioning datecolumn="string"
interval="DAILY|MONTHLY|QUARTERLY|WEEKLY|YEARLY">
<ora-table-hash-partitioning hash-columns="string" num-partitions="integer"/>
<ora-table-tablespaces index-tablespace="string" lob-tablespace="string"
table-tablespace="string"/>
</ora-table-ddl>
</ora-db-ddl>
<versiontriggers dbmsperfinfothreshold="integer">
<!-- Sets override options for the named database version trigger -->
<versiontrigger extendedquerytracingenabled="true|false" name="string"
parallel-dml="true|false" parallel-query="true|false"
queryoptimizertracingenabled="true|false" recordcounters="true|false"
updatejoinorderedhint="true|false" updatejoinusemergehint="true|false"
updatejoinusenlhint="true|false"/>
</versiontriggers>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <upgrade> element. All of these attributes
are optional.
allowUnloggedOperations Boolean. Whether to disable logging of certain SQL operations during the data‐
base upgrade.
Valid values are:
• true – Run the upgrade with minimal database redo logging and enable
direct‐path INSERT operations.
• false – Run the upgrade with standard database redo logging.
The default is false.
Note: If you run the upgrade with attribute allowUnloggedOperations set to
true, then you need to take a full database backup after the upgrade.
collectstorageinstrumentation (Oracle) Boolean. Whether PolicyCenter collects tablespace usage and object size
data before and after the upgrade.
Valid values are:
• true – PolicyCenter collects tablespace usage and size of segments such as
tables, indexes and LOBs (large object binaries) before and after the upgrade.
You can then compare the before and after values to find the utilization
change caused by the upgrade.
• false – PolicyCenter does not collect this data.
The default is false.
defer-create-nonessential-indexes Boolean. Whether to defer creation of non‐essential indexes during the upgrade
process until the upgrade completes and the application server is back up. Crea‐
tion of non‐essential indexes can add significant time to the upgrade duration.
Valid values are:
• true – Defer creation of non‐essential indexes during upgrade.
• false – Do not defer creation of non‐essential indexes during upgrade.
The default is false.
Non‐essential indexes are:
• Performance‐related indexes that do not enforce constraints.
• Indexes on the ArchivePartition column on all entities that PolicyCenter
can archive.
If you choose to defer creation of non‐essential indexes, PolicyCenter runs the
Deferred Upgrade Tasks batch process (DeferredUpgradeTasks) as soon as the
upgrade completes and the server starts up. See “Deferred Upgrade Tasks Batch
Process” on page 106 for more information.
deferDropColumns (Oracle) Boolean. Whether to drop table columns removed during upgrade im‐
mediately or leave their removal to a later time. The database upgrade removes
some columns. For Oracle, you can configure whether the removed columns are
dropped immediately or are marked as unused. Marking a column as unused is a
faster operation than dropping the column immediately.
However, as PolicyCenter does not physically drop the removed columns from
the database, the space used by these columns is not released immediately to
the table and index segments.
Valid values are:
• true – Defer dropping removed columns until after the upgrade, possibly
during off‐peak hours of operation. The PolicyCenter database upgrade marks
the removed columns as unused instead.
• false – Drop the removed columns immediately, during the upgrade process.
The default is true.
degree-of-parallelism (Oracle) Controls the degree of database parallelism that Oracle uses for INSERT,
UPDATE, and DELETE database operations.
Valid values are:
• 0 – Defers to Oracle to determine the degree of database parallelism for the
operations that the attribute configures. The Oracle automatic parallel tuning
feature determines the degree based on the number of CPU processors
involved and the value set for the Oracle parameter
PARALLEL_THREADS_PER_CPU.
• 1 – Disables the parallel execution of DDL statements.
• Positive integer less than 1000 – Database parallelism, with the specified
value as the degree of parallelism.
The default is 4.
degree-parallel-ddl (Oracle) Controls the degree of database parallelism that Oracle uses to execute
DDL (Data Definition Language) statements during the database upgrade. Use to
configure the degree of database parallelism for commands such as CREATE
INDEX and the ALTER TABLE commands.
Valid values are:
• 0 – Defers to Oracle to determine to determine the degree of database
parallelism for the operations that the attribute configures. The Oracle
automatic parallel tuning feature determines the degree based on the
number of CPUs involved and the value set for the Oracle parameter
PARALLEL_THREADS_PER_CPU.
• 1 – Disables the parallel execution of DDL statements.
• Positive integer less than 1000 – Database parallelism, with the specified
value as the degree of parallelism.
The default is 4.
If you set the value of ora-parallel-dml to enable or enable_all (default),
then you need to provide a value for attribute degree-of-parallelism as well.
encryptioncommitsize Sets the commit size for rows requiring encryption. If one or more attributes use
PolicyCenter encryption, the PolicyCenter database upgrade commits batches of
encrypted values. The upgrade commits encryptioncommitsize rows at a time
in each batch.
The default value of encryptioncommitsize varies based on the database type:
• Oracle – 10000
• SQL Server – 100
Test the upgrade on a copy of your production database before attempting to up‐
grade the actual production database. If the encryption process is slow, and you
cannot attribute the slowness to SQL statements in the database, try adjusting
the encryptioncommitsize attribute. After you optimized the performance of
the encryption process, use that value of encryptioncommitsize as you upgrade
your production database.
ora-parallel-dml (Oracle) Controls database parallelism usage by Oracle in the execution of DML
(Data Manipulation Language) operations.
Valid values are:
• disable – Oracle does not execute DML statements in parallel during
upgrade.
• enable – Oracle executes DML statements in parallel during upgrade, if
configured to do so.
• enable_all – Oracle executes DML statements in parallel during upgrade in
all cases, unless turned off in the code or through configuration.
The default is enable_all.
If you set the value of ora-parallel-dml to enable or enable_all, then you
need to provide a value for attribute degree-of-parallelism as well.
Note: The value of this attribute interacts with the parallel-dml attribute on
the <versiontrigger> element. See “The versiontrigger Database Configuration
Element” on page 234 for more information.
ora-parallel-query (Oracle) Controls parallel query usage by Oracle during a database upgrade.
Valid values are:
• disable – Oracle does not use parallel queries during upgrade.
• enable – Oracle uses parallel queries during upgrade, if configured to do so.
The default is enable.
The value of this attribute interacts with the parallel-query attribute on the
<versiontrigger> element. See “The versiontrigger Database Configuration Ele‐
ment” on page 234 for more information.
sqlserverCreateIndexSortInTempDB (SQL Server) Boolean. Whether SQL Server stores temporary sort results in
tempdb. By using tempdb for sort runs, disk input and output is typically faster,
and the created indexes tend to be more contiguous. Valid values are:
• true – SQL Server stores sort results in tempdb.
• false – SQL Server stores sort results in the destination filegroup.
The default is false.
If you set sqlserverCreateIndexSortInTempDB to true, you must have enough
disk space available to tempdb for the sort runs, which, for the clustered index,
includes the data pages. You must also have sufficient free space in the destina‐
tion filegroup to store the final index structure, because SQL Server creates the
new index before deleting the old index.
Refer to the following web site for details on the requirements to use tempdb for
sort results.
http://msdn.microsoft.com/en-us/library/ms188281.aspx
updatestatistics (Oracle) Boolean. Whether to update table statistics during upgrade. The overall
time that it takes to upgrade the database is shorter if the database upgrade does
not update statistics.
The <upgrade> element has the following subelements. Each of these elements is optional. There is, at most, a
single occurrence of each of these subelements on the <upgrade> element.
mssql-db-ddl Specifies options for SQL Server database DDL (Data Definition Language) statements. See “The mssql‐db‐
ddl Database Configuration Element” on page 221 for details.
ora-db-ddl Specifies options for Oracle database DDL (Data Definition Language) statements. See “The ora‐db‐ddl Da‐
tabase Configuration Element” on page 226 for details.
versiontriggers Specifies options for named version triggers. See “The versiontriggers Database Configuration Element” on
page 234 for details.
See also
• “The Database Configuration File” on page 205
<database>
<upgrade>
<mssql-db-ddl>
<mssql-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW/>
<mssql-filegroups op="string" admin="string" typelist="string" staging="string"
index="string" lob="string"/>
<mssql-table-ddl table-name="string">
<mssql-index-ddl filter-where="string"index-compression="NONE|PAGE|ROW"
index-filegroup="string" key-columns="string" partition-scheme="string"/>
<mssql-table-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW"/>
<mssql-table-filegroups="string" index-filegroup="string" lob-filegroup
table-filegroup="string"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>
mssql- Specifies compression settings for SQL Server database tables and indexes at the global, database level.
compression See “The mssql‐compression Database Configuration Element” on page 222 for more information.
mssql- Specifies the mapping between SQL Server database filegroups and PolicyCenter logical tablespaces at the
filegroups global, database level. See “The mssql‐filegroups Database Configuration Element” on page 223 for more
information.
mssql-table- Specifies SQL Server database DDL options for a named table. These settings override values set at the glob‐
ddl al, database level. See “The mssql‐table‐ddl Database Configuration Element” on page 224 for more infor‐
mation.
See also
<database>
<upgrade>
<mssql-db-ddl>
<mssql-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW/>
</mssql-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <mssql-compression> element.
index-compression If present, specifies the index compression setting for all indexes. Valid values are:
• NONE
• PAGE
• ROW
The default is NONE.
table-compression If present, specifies the table compression setting for all tables. Valid values are:
• NONE
• PAGE
• ROW
The default is NONE.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
<database>
<upgrade>
<mssql-db-ddl>
<mssql-filegroups op="string" admin="string" typelist="string" staging="string"
index="string" lob="string"/>
</mssql-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <mssql-filegroups> element.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
• Installation Guide
Database Configuration 223
Guidewire PolicyCenter 9.0.6 System Administration Guide
<database>
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="string">
<mssql-index-ddl filter-where="string"index-compression="NONE|PAGE|ROW"
index-filegroup="string" key-columns="string" partition-scheme="string"/>
<mssql-table-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW"/>
<mssql-table-filegroups lob-filegroups="string" index-filegroup="string" table-filegroup="string"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>
The <mssql-table-ddl> element has the following subelements. Each of these elements is optional. There is, at
most, a single occurrence of the <mssql-table-compression> and <mssql-table-filegroups> elements on the
<mssql-table-ddl> element. There can be, however, multiple occurrences of the <mssql-index-ddl> element.
mssql-index-ddl Specifies DDL options for a specific index. See “The mssql‐index‐ddl Database Configuration Element”
on page 224 for more information.
mssql-table- Specifies compression for the named table. See “The mssql‐table‐compression Database Configuration
compression Element” on page 225 for more information.
mssql-table- Specifies a filegroup to associate with a table, index, or LOB. See “The mssql‐table‐filegroups Database
filegroups Configuration Element” on page 226 for more information.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
<database>
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="string">
<mssql-index-ddl filter-where="string"index-compression="NONE|PAGE|ROW"
index-filegroup="string"
key-columns="string" partition-scheme="string"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <mssql-index-ddl> element.
key-columns Required. Comma‐delimited list of key columns, in order. Specify DESC after the column name for a de‐
scending sort order on the column.
The following attributes are all optional.
filter-where Specifies an index filter to add after the WHERE keyword in the SQL Server CREATE INDEX ... WHERE
statement. The filter that you create must conform to standard SQL Server rules.
index-compression Specifies the compression setting for the specified index. Valid values are:
• NONE
• PAGE
• ROW
If not specified, PolicyCenter uses the SQL Server database default.
index-filegroup Name of the filegroup associated with this index. Do not use this attribute if you supply a value for the
partition-scheme attribute as the two attributes are mutually exclusive.
partition-scheme Name of a partition scheme for this index. Use of this attribute implies the use of PolicyCenter cluster‐
ing. Do not use this attribute if you supply a value for the index-filegroups attribute as the two attrib‐
utes are mutually exclusive.
See also
• Installation Guide
<database>
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="string">
<mssql-table-compression index-compression="NONE|PAGE|ROW" table-compression="NONE|PAGE|ROW"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <mssql-table-compression> element. All
of these attributes are optional.
index-compression Specifies the index compression setting for the specified index. Valid values are:
• NONE
• PAGE
• ROW
If not specified, PolicyCenter uses the database default.
table-compression Specifies the table compression setting for the specified table. Valid values are:
• NONE
• PAGE
• ROW
If not specified, PolicyCenter uses the database default.
<database>
<upgrade>
<mssql-db-ddl>
<mssql-table-ddl table-name="string">
<mssql-table-filegroups table-filegroup="string" index-filegroup="string" lob-filegroups="string"/>
</mssql-table-ddl>
</mssql-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <mssql-table-filegroups> element. All
of these attributes are optional. However, if you do not specify at least one of these attributes, there is no need for
this element to be present in database-config.xml.
index-filegroup Name of the filegroup to associate with any indexes on this table.
lob-filegroup Name of the filegroup to associate with any large object (LOB, CLOB, or spatial column).
<database>
<upgrade
<ora-db-ddl>
<!-- Sets Oracle database options at the global, database level -->
<ora-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>
<tablespaces admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
<!-- Sets Oracle options for the named table, overrides values set at the database level -->
<ora-table-ddl table-name="string">
</ora-db-ddl>
</upgrade>
</database>
ora- Specifies Oracle compression settings for all tables and indexes at the global, database level. See “The ora‐
compression compression Database Configuration Element” on page 227 for more information.
ora-lobs Specifies attributes for LOB columns on all tables at the global, database level. See “The ora‐lobs Database
Configuration Element” on page 228 for more information.
ora-table-ddl Specifies DDL parameters and overrides for a specific, named Oracle database table. See “The ora‐table‐ddl
Database Configuration Element” on page 229 for more information.
tablespaces Specifies default mappings for Oracle tablespaces at a global, database level. See “The tablespaces Data‐
base Configuration Element” on page 228 for more information.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
• Installation Guide
<database>
<upgrade>
<ora-db-ddl>
<ora-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE"/>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-compression> element. All of these
attributes are optional.
index-compression Boolean. Whether to use index compression for all indexes in an Oracle database. The default is false.
table-compression Specifies table compression type for all tables in an Oracle database.
Valid values are:
• ADVANCED
• BASIC
• NONE
The default is NONE.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
• Installation Guide
<database>
<upgrade>
<ora-db-ddl>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-lobs> element. All of these attributes
are optional.
caching Boolean. Whether to use caching for all LOB columns on a table or for the Oracle database globally. The default is
false.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
<database>
<upgrade>
<ora-db-ddl>
<tablespaces admin="string" index="string" lob="string" op="string" staging="string"
typelist="string"/>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <tablespaces> element.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
• Installation Guide
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-index-ddl index-compression="true|false" index-tablespace="string" key-columns="string"/>
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>>
<ora-table-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE">
<ora-table-date-interval-partitioning datecolumn="string"
interval="DAILY|MONTHLY|QUARTERLY|WEEKLY|YEARLY">
<ora-table-hash-partitioning hash-columns="string" num-partitions="integer"/>
<ora-table-tablespaces index-tablespace="string" lob-tablespace="string"
table-tablespace="string"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
ora-index-ddl Specifies options for a specific Oracle index, based on key columns. See “The ora‐index‐ddl Database
Configuration Element” on page 230 for more information.
ora-lobs Specifies options for LOB columns on a specific, named table in an Oracle database. See “The ora‐lobs
Database Configuration Element” on page 231 for more information.
ora-table- Specifies compression options on a specific, named index or table in an Oracle database. See “The ora‐
compression table‐compression Database Configuration Element” on page 231 for more information.
ora-table-date- Specifies options for date range partitioning on a specific, named table in an Oracle database. See “The
interval- ora‐table‐date‐interval‐partitioning Database Configuration Element” on page 232 for more informa‐
partitioning tion.
ora-table-hash- Specifies options for hash partitioning of a specific, named table in an Oracle database. See “The ora‐
partitioning table‐hash‐partitioning Database Configuration Element” on page 233 for more information.
ora-table- Specifies tablespace options for a specific, named table in an Oracle database. See “The ora‐table‐
tablespaces tablespaces Database Configuration Element” on page 233 for more information.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-index-ddl index-compression="true|false" index-tablespace="string" key-columns="string"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-index-ddl> element.
key-columns Required. Ordered, comma‐delimited list of key columns. Specify DESC after the column name for a de‐
scending sort order on that column.
The following attributes are optional.
index-compression Specifies the index compression for this index. If you do not specify this attribute, PolicyCenter uses the
table or database default.
index-tablespaces Name of the tablespace override for the index.
ora-index- Defines partitioning for the specified Oracle index. The <ora-index-partitioning> element has the follow‐
partitioning ing attributes:
• num-hash-partitions – The number of hash partitions to define. The default is 128.
• partitioning-type – Required if using this element. Sets the partitioning type to one of the following:
◦ LOCAL – Inherit the partitioning type from the table
◦ HASH – Use hash partitions. If you set this attribute to HASH, then you need to specify the number of
partitions to use attribute num-hash-partitions. Do not set partitioning-type to HASH if you
specify an <ora-index-range-partition> subelement.
◦ RANGE – Specify the range partitioning column list and the partition upper limits with one or more ora-
index-range-partition elements.
• range-partitioning-column-list – Optional. Use to specify the global range partitioning column list.
This attribute requires the definition of one or more ora-index-range-partitioning elements. Do not
230 chapter 15: Database Configuration
Guidewire PolicyCenter 9.0.6 System Administration Guide
specify the last range which is always VALUES LESS THAN (MAXVALUE). Do not use if you set attribute
partitioning-type to HASH.
The <ora-index-partitioning> element contains a single subelement:
• ora-index-range-partition – Optional. A comma‐delimited, ordered list of literal values
corresponding to the column list in the range-partitioning-column-list attribute. Use single quotes
with string values. PolicyCenter uses this value in the clause VALUES LESS THAN(value_list). Do not
use if you set attribute partitioning-type to HASH.
See also
• Installation Guide
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-lobs caching="true|false" type="BASIC|SECURE|SECURE_COMPRESSED/>>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-lobs> element. All of these attributes
are optional.
caching Sets the LOB cache attribute for the named Oracle table. The default is false.
type Sets the LOB type for the named Oracle table. Valid values are:
• BASIC
• SECURE
• SECURE_COMPRESSED
The default is SECURE.
Note: SECURE and SECURE_COMPRESSED refer to the use of Oracle SecureFiles LOBs.
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-table-compression index-compression="true|false" table-compression="ADVANCED|BASIC|NONE">
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-table-compression> element. All of
these attributes are optional.
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-table-date-interval-partitioning datecolumn="string"
interval="DAILY|MONTHLY|QUARTERLY|WEEKLY|YEARLY">
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-table-date-interval-
partitioning> element.
datecolumn Required. Name of the column to use for the date range. The column must be non‐nullable and one of the fol‐
lowing types:
• datetime
• dateonly
interval Required. The interval for each partition. Valid values are:
• DAILY
• MONTHLY
• QUARTERLY
• WEEKLY
• YEARLY
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-table-hash-partitioning hash-columns="string" num-partitions="integer"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-table-hash-partitioning> element.
All of these attributes are optional.
<database>
<upgrade>
<ora-db-ddl>
<ora-table-ddl table-name="string">
<ora-table-tablespaces index-tablespace="string" lob-tablespace="string"
table-tablespace="string"/>
</ora-table-ddl>
</ora-db-ddl>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <ora-table-tablespaces> element. All of
these attributes are optional.
lob-tablespace Name of the tablespace override for the specified LOB column.
table-tablespace Name of the tablespace override for the specified table.
<database>
<upgrade>
<versiontriggers dbmsperfinfothreshold="integer">
<versiontrigger extendedquerytracingenabled="true|false" name="string"
parallel-dml="true|false" parallel-query="true|false"
queryoptimizertracingenabled="true|false" recordcounters="true|false"
updatejoinorderedhint="true|false" updatejoinusemergehint="true|false"
updatejoinusenlhint="true|false"/>
</versiontriggers>
</upgrade>
</database>
dbmsperfinfothreshold Specifies–for all version triggers–the threshold after which the database upgrader gathers perform‐
ance information from the database. The default is 600 (seconds).
If a version trigger takes longer than dbmsperfinfothreshold number of seconds to execute,
PolicyCenter:
• Queries the underlying database management system (DBMS).
• Builds a set of HTML pages with performance information for the interval in which the version
trigger was executing.
• Includes these HTML pages in the upgrader instrumentation for the version trigger.
You can completely turn off the collection of database snapshot instrumentation for version trig‐
gers by setting the value of the dbmsperfinfothreshold attribute to 0. If you do not have the li‐
cense for the Oracle Diagnostics Pack, you must set dbmsperfinfothreshold to 0 before running
the upgrade.
The <versiontriggers> element has the following subelement, of which there can be multiple occurrences.
versiontrigger Provides override instructions for a specific, named, version trigger. See “The versiontrigger Database Con‐
figuration Element” on page 234
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
<database>
<upgrade>
<versiontriggers>
<versiontrigger extendedquerytracingenabled="true|false" name="string"
parallel-dml="true|false" parallel-query="true|false"
queryoptimizertracingenabled="true|false" recordcounters="true|false"
updatejoinorderedhint="true|false" updatejoinusemergehint="true|false"
updatejoinusenlhint="true|false"/>
</versiontriggers>
</upgrade>
</database>
The following list describes the attributes that you can configure on the <versiontrigger> element.
See also
• “The Database Configuration File” on page 205
• “The upgrade Database Configuration Element” on page 217
Database Maintenance
This topic discusses key issues for configuring and maintaining the PolicyCenter database. While PolicyCenter
automatically handles most changes to its schema, involve a database administrator in tuning and managing the
database server.
IMPORTANT The versions of third-party products that Guidewire supports for this release are subject
to change without notice. For current system and patch level requirements, visit the Guidewire
Community and search for knowledge article 1005, Supported Software Components.
See also
• Installation Guide
See also
• “Upgrade and Versions” on page 362
server to query the database. It is possible for the latency between the two servers to impact performance. As a
measure of this metric, Guidewire logs the time that it takes to verify access to the database at server startup.
Synchronize the application server with the database clock. The maximum time difference allowed between the
application server and database server is 29 minutes. If you use database clustering, synchronize all nodes in the
database cluster with each other.
Database Maintenance
If you need to perform any database maintenance tasks, such as applying a patch, shut down all PolicyCenter servers
that connect to the database. Restart the servers after the database maintenance is complete.
Run consistency checks on the database, especially after importing data.
Back up the database periodically to support disaster recovery options.
Monitor storage performance. If I/O (input/output) times are slower than 10ms, it indicates that there is most likely
an issue.
Monitor tablespace size allocations and disk space to ensure that PolicyCenter does not run out of space.
Update database statistics periodically so that the query optimizer selects an efficient plan for executing application
queries.
Database tables
For Oracle databases, keep the Oracle default settings as much as possible. For example, do not set a 4K block size.
Consult with Guidewire if you want to change the default Oracle settings.
Do not insert data directly into tables managed by PolicyCenter. This can cause the data distribution tool to fail and
cause other problems.
Do not add large numbers of mediumtext and CLOB columns to a table.
Do not add an index outside of PolicyCenter and not declare it in an extension file.
See also
Note: If, for any reason, there is an interruption to the server during a database update, the server
resumes the update upon restart. PolicyCenter accomplishes this by storing the steps in the database
and marking them completed as part of the same database transaction that applies a change. This only
applies to data model updates and does not apply to product version upgrades.
See also
• “Run a Schema Verification Report” on page 239
• “About the Upgrade and Versions Screen” on page 237
• “View an Upgrade Report” on page 364
• “Understanding Guidewire Software Versioning” on page 365
• Configuration Guide
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
WARNING Guidewire supports the built-in automatic database upgrade process only for
Guidewire InsuranceSuite products. Guidewire explicitly does not support any alternative process
that executes SQL DDL commands on the database.
If you have a legitimate need to update underlying application data, Guidewire recommends that you use Guidewire
APIs, either Java or Gosu, to perform the necessary updates. This ensures that you do not miss any critical side
effects of the updates in the process of altering the data. Using Guidewire APIs to update application data is safer
than using SQL queries with regard to consistency. However, with any programming language or API it is still
possible to update data incorrectly or in ways that do not perform well. Therefore, before using the APIs, Guidewire
strongly recommends that you review your intended updates with your Guidewire Support Partner and/or Guidewire
Professional Services team.
In the rare case in which no API exists to correct a data corruption problem, Guidewire can advise you on the SQL
queries to use to correct these problems. In these cases, the SQL queries used to update the database must be written,
or approved, by Guidewire. This process ensures that all SQL queries use correct logic and that you take all potential
side effects into account.
Do not apply any other SQL queries to modify data in a PolicyCenter database. Guidewire does not provide, nor
review, such queries for situations in which an API or supported alternate method is available.
See also
• “Consistency Checks” on page 333
Best Practice
It is possible to trigger the execution of database consistency checks as the application server starts, by setting a
database attribute in file database-config.xml. However, Guidewire does not recommend that you use this method
of automatically running consistency checks as a general rule, especially in a production environment. The
execution of consistency checks is very resource intensive and impacts server performance significantly. Only
trigger the execution of consistency checks at server start in a development environment that contains a very small
data set.
Instead, Guidewire recommends that you execute consistency checks from the Server Tools Consistency Checks
screen in PolicyCenter.
IMPORTANT Set the checker attribute on <database-config> to false under most circumstances.
Guidewire recommends that you do not set checker to true except in development environments
with very small test data sets.
See also
• “Configuring the Number of Threads for Consistency Checks” on page 243
See also
• “Run a Consistency Check from PolicyCenter” on page 335
See also
• “Configuring the Number of Threads for Consistency Checks” on page 243
• “Run a Consistency Check Using System Tools” on page 336
• “System Tools Options” on page 393
IMPORTANT Guidewire strongly discourages the use of the checker attribute in file database-
config.xml to automatically trigger database consistency checks at server start. Database consistency
checks are very resource-intensive and can significantly degrade server performance. Only use the
checker attribute to trigger consistency checks in a development environment that contains a very
small data set.
Procedure
1. Open Guidewire Studio™ for PolicyCenter.
2. In the Project window, expand configuration→config.
a. Open file database-config.xml.
b. Add a checker attribute on the <database> element and set the attribute to true.
By default, Guidewire omits this attribute in the base configuration and sets it value to false.
c. Save and close file database-config.xml.
242 chapter 16: Database Maintenance
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “The Database Configuration File” on page 205
• “Configure Worker Threads for Consistency Checks in config.xml” on page 244
See also
• “Database Consistency Checks” on page 240
• “Consistency Checks” on page 333
Procedure
1. In the PolicyCenter Studio Project window, expand configuration→config→workqueue:
a. Open file work-queue.xml for editing.
b. Locate the block of code that contains the following workQueueClass value.
com.guidewire.pl.system.database.checker.DBConsistencyCheckWorkQueue
See also
• “Configuring Work Queues” on page 92
Procedure
1. In Guidewire Studio™ for PolicyCenter.
2. In the Project window, expand configuration→config:
a. Open file config.xml for editing.
b. Locate the ConsistencyCheckerThreads parameter.
In the base configuration, the value of this parameter is 1.
c. Set the value of this parameter to a number that meets your business needs.
For example, set this value to five.
IMPORTANT Guidewire does not support re-sizing any database columns that are part of the
PolicyCenter base configuration.
Procedure
1. Shut down PolicyCenter.
2. Alter the table and add a new temporary column that is the new size.
3. Copy all of the data from the source column to the temporary column.
4. Alter the table and drop the source column.
Depending on the database, it is possible that you need to set the data in this column to all nulls before you can
drop the column.
5. Alter the table and add the new source column that is the new size.
6. Copy the data from the temporary column to the new source column.
7. Alter the table and drop the temporary column.
8. Restart PolicyCenter.
244 chapter 16: Database Maintenance
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Purging Workflow Data” on page 251
• “Purging Workflow Log Data” on page 252
• “Purging Work Item Set Data” on page 252
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Process History Purge batch process.
Command Launch the Purge Workflows batch process from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess ProcessHistoryPurge
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Process History Purge Batch Process” on page 116
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Cluster Members batch process.
Command Launch the Purge Workflows batch process from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess PurgeClusterMembers
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Purge Cluster Members Batch Process” on page 117
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Failed Work Items batch process.
Command Launch the Purge Workflows batch process from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess PurgeFailedWorkItems
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Purge Failed Work Items Batch Process” on page 117
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge batch process.
Command Launch the Purge work queue from the PolicyCenter/admin/bin directory with the following command:
prompt maintenance_tools -password password -startprocess Purge
The PolicyCenter administration command prompt tools all require that you enter the password of an ad‐
ministrative user for the tool to work. The use of a user name is optional.
See also
• “Reset Purge Status and Check Dates Work Queue” on page 123
• “Purge Batch Process” on page 117
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
• Configuration Guide
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Message History batch process.
Command Launch the Purge Message History batch process from the PolicyCenter/admin/bin directory with the fol‐
prompt lowing command:
maintenance_tools -password password -startprocess PurgeMessageHistory
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Purge Message History Batch Process” on page 118
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Old Transaction IDs batch process.
Command Launch the Purge Old Transaction IDs batch process from the PolicyCenter/admin/bin directory with the
prompt following command:
maintenance_tools -password password -startprocess PurgeTransactionIDs
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Orphaned Policy Periods batch process.
Command Launch the Purge Orphaned Policy Periods work queue from the PolicyCenter/admin/bin directory with
prompt the following command:
maintenance_tools -password password -startprocess PurgeOrphanedPolicyPeriods
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Profiler Data batch process.
Command Launch the Purge Profiler Data batch process from the PolicyCenter/admin/bin directory with the follow‐
prompt ing command:
maintenance_tools -password password -startprocess PurgeProfilerData
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Quote Clones batch process.
Command Launch the Purge Quote Clones work queue from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess PurgeQuoteClones
The PolicyCenter administration command prompt tools all require that you enter the password of an ad‐
ministrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Rate Book Export Result batch process.
Command Launch the Purge Rate Book Export Result batch process from the PolicyCenter/admin/bin directory with
prompt the following command:
maintenance_tools -password password -startprocess PurgeRateBookExportResult
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Rating Worksheets batch process.
Command Launch the Purge Rating Worksheets work queue from the PolicyCenter/admin/bin directory with the fol‐
prompt lowing command:
maintenance_tools -password password -startprocess PurgeWorksheets
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Risk Assessment Temporary Store batch
process.
Command Launch the Purge Risk Assessment Temporary Store batch process from the PolicyCenter/admin/bin direc‐
prompt tory with the following command:
maintenance_tools -password password -startprocess PurgeRiskAssessmentTempStore
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Purge Risk Assessment Temporary Store Work Queue” on page 121
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
• Configuration Guide
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Temporary Policy Periods batch process.
Command Launch the Purge Temporary Policy Periods work queue from the PolicyCenter/admin/bin directory with
prompt the following command:
maintenance_tools -password password -startprocess PurgeTemporaryPolicyPeriods
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Purge Temporary Policy Periods Work Queue” on page 121
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Workflow batch process.
Command Launch the Purge Workflows batch process from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess PurgeWorkflows
Database Maintenance 251
Guidewire PolicyCenter 9.0.6 System Administration Guide
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Purge Workflow Logs batch process.
Command Launch the Purge Workflow Logs batch process from the PolicyCenter/admin/bin directory with the fol‐
prompt lowing command:
maintenance_tools -password password -startprocess PurgeWorkflowlogs
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Work Item Set Purge batch process.
Command Launch the Purge Workflow Logs batch process from the PolicyCenter/admin/bin directory with the fol‐
prompt lowing command:
maintenance_tools -password password -startprocess WorkItemSetPurge
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Work Item Set Purge Batch Process” on page 126
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
PolicyCenter Navigate to the Server Tools Batch Process Info screen and run the Work Queue Instrumentation Purge batch proc‐
ess.
Command Launch the Purge Workflows batch process from the PolicyCenter/admin/bin directory with the following
prompt command:
maintenance_tools -password password -startprocess WorkQueueInstrumentationPurge
The PolicyCenter administration command prompt tools all require that you enter the password of an admin‐
istrative user for the tool to work. The use of a user name is optional.
See also
• “Work Queue Instrumentation Purge Batch Process” on page 126
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
This topic discusses database statistics, metadata that describe the underlying database.
IMPORTANT Have your database administrator (DBA) review the database statistics with you.
Note: A change in the value of useoraclestatspreferences takes effect only during an application
upgrade.
Disable the automatic generation of database statistics using Oracle by doing one of the following:
• Disable the Oracle AutoTask “auto optimizer stats collection” automated task.
• Set the AUTOSTATS_TARGET preference to ORACLE. This action ensures that the automated task gathers
statistics for the Oracle Dictionary only.
If using DBStats batch processing to manage the collection of database statistics:
• Do not execute Oracle dbms_stats manually.
• Manually execute, or schedule, DBStats batch processing.
See also Disable Automatic Database Statistics Generation by Oracle in the System Administration Guide.
Procedure
1. Disable Oracle database statistics generation.
2. Delete the schema statistics.
3. Gather full database statistics using the Guidewire DBStats batch process.
using the zone_import command or if there are performance problems. Under standard operating conditions, you
generally need to gather incremental database statistics only on a frequent basis.
If you encounter performance problems or degradation related to the database, check the Database Statistics screen on
the Info Pages section of the Server Tools. If this screen shows suspicious or inaccurate statistics, update database
statistics. If the data change is high, consider using a daily schedule for updating incremental statistics. Use the daily
schedule to provide statistics on tables that have had a configurable percentage of data changed since the last
statistics process was run.
IMPORTANT Consult with your Database Administrator before starting the database statistics process.
Some PolicyCenter batch processes use work or scratch tables to store intermediate calculations. Other batch
processes populate denormalized tables that PolicyCenter uses internally for performance reasons. These processes
can update database statistics on the scratch tables and denormalized tables during their execution.
• “Database Statistics Work Queue” on page 105
• “Batch Process Info” on page 321
• “Maintenance Tools Command” on page 390
Full database sta‐ Generates database statistics for every table in the PolicyCenter database.
tistics
Incremental data‐ Generates database statistics for tables for which the change in the table data caused by inserts and dele‐
base statistics tes exceeds a certain percentage threshold. You specify this threshold through the
incrementalupdatethresholdpercent attribute on the <databasestatistics> element in file
database-config.xml. The default is 10 percent.
It is possible to pause the database statistics updating process, just as you can with other work queues. Use the
Server Tools Work Queue Info page to pause an in-progress work queue.
See also
admin/bin
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
This process does not update statistics on any table that contains locked statistics.
Procedure
admin/bin
3. Enter the following command to update statistics for tables exceeding the change threshold.
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
admin/bin
3. Enter the following command to check on the state of the process that updates database statistics.
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Procedure
1. Ensure that the PolicyCenter application server is running.
2. Open a command prompt and navigate to the following location in the PolicyCenter installation directory:
admin/bin
3. Enter the following command to cancel the process that updates database statistics.
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Procedure
1. Ensure that the PolicyCenter server is running.
2. Open a command prompt and navigate to the following location in the PolicyCenter installation directory:
admin/bin
3. Enter the following command to generate database statistic SQL statements for all tables.
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Result
PolicyCenter groups the output statements by table.
admin/bin
3. Enter the following command to generate database statistic SQL statements for tables exceeding the change
threshold.
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
Result
PolicyCenter groups the output statements by table.
See also
• “Understanding Database Statistics” on page 255
• “Managing Database Statistics using System Tools” on page 257
<work-queue
workQueueClass="com.guidewire.pl.system.database.dbstatistics.DBStatisticsWorkItemWorkQueue"
progressinterval="86400000">
<worker instances="5" batchsize="10"/>
</work-queue>
In this configuration, the statistics generation work queue uses five worker threads and each worker checks out ten
work items at a time.
If you edit work-queue.xml, you must rebuild and redeploy PolicyCenter.
See also
• “The Work Queue Scheduler” on page 89
In the following example, an Oracle database connection shows the use of these parameters:
The previous example configures the following database statistic generation behavior:
• Collects statistics on all PolicyCenter tables using the automatic sampling size and with a degree of parallelism of
4.
• Samples table pc_table1 using Oracle AUTO_SAMPLE_SIZE, which is the recommended value.
• Uses a parallel degree of 4.
• Defines a histogram with 254 buckets (time slots) on pc_check.scheduledsenddate. Guidewire requires that
you provide a value for this attribute.
• Deletes statistics on pc_table2 due to the attribute action="delete".
See also
• “The Database Statistics Element” on page 261
• “The Table Statistics Database Element” on page 264
databasedegree On Oracle, this attribute controls the degree of parallelism for each individual state‐
ment. The default is 1. PolicyCenter uses the value of this attribute for all state‐
ments.
SQL Server ignores the databasedegree attribute.
incrementalupdatethresholdpercent Specifies the percentage of table data that must have changed since the last statis‐
tics process for the incremental statistics generation batch process to update statis‐
tics for the table.
The default is 10.
numappserverthreads On both Oracle and SQL Server, the numappserverthreads attribute controls the
number of threads that PolicyCenter uses to update database statistics for staging
tables during import only. Command prompt tool table_import launches this im‐
port.
The value defaults to 1. If the value is greater than 1, then the PolicyCenter server
assigns a table at a time to each thread as the thread becomes available. Each
thread executes all of the database statistics statements for its assigned table.
For all other statistics generation operations, set the number of threads by specify‐
ing the number of workers for the database statistics work queue. Set the
instances attribute on the <workers> subelement of the <work-queue> element
for the database statistics work queue. This element has
workQueueClass="com.guidewire.pl.system.database.dbstatistics.DBStati
sticsWorkItemWorkQueue".
The default is 1.
samplingpercentage On Oracle, this attribute controls the value of the estimate_percent parameter in
the dbms_stats.gather_table_stats() SQL statements. You can set
samplingpercentage to an integer from 1 to 100 to directly set the
estimate_percent value. However, Guidewire recommends highly that you set the
samplingpercentage value to 0 to set estimate_percent to AUTO_SAMPLE_SIZE.
The default value is 0.
Database Statistics Generation 261
Guidewire PolicyCenter 9.0.6 System Administration Guide
On SQL Server, the samplingpercentage attributes controls the value of the WITH
FULLSCAN/SAMPLE PERCENT clause in the UPDATE STATISTICS statements. A value
of 100, the default, translates into WITH FULLSCAN, as does a value of 0.
The default is 0.
useoraclestatspreferences On Oracle, this attribute sets the database statistics preferences to be able to use
the Oracle Autotask infrastructure instead of the DBStats batch process from
PolicyCenter. The default is false, which requires that you disable the Autotask
and schedule DBStats batch processing in its place. Changes to the value of this
attribute only take effect during an application upgrade.
The values you set for these attributes apply to all the tables in the database. You can fine tune these values and set
specific values on individual tables by using the <tablestatistics> subelement. Setting values on a specific table
overrides the values set on the database for just that table.
See also
• “Configuring Database Statistics Generation” on page 260
• “The Database Statistics Element” on page 261
• “Using Oracle AutoTask for Statistics Generation” on page 262
• “Table Import Command” on page 399
Any change to this attribute value takes effect only during an upgrade, either a full upgrade or a rolling
(configuration) upgrade. To force PolicyCenter to recognize the change without an application upgrade, increment
the application metadata version and restart the application server.
After you set this attribute to true, the next application upgrade does the following:
• It clears all existing preferences for table statistics.
• It resets the preferences for table statistics to those currently defined for Oracle table statistics in database-
config.xml.
• It creates a new tab named Oracle Statistics Preferences in the Server Tools Info Pages→Database Catalog Statistics
Information screen.
To confirm that the application upgrade set the database statistics preferences, review the Oracle Statistics Preferences
tab and verify the preferences.
EXEC dbms_stats.set_global_prefs('AUTOSTATS_TARGET','AUTO');
EXEC dbms_auto_task_admin.enable(client_name => 'auto optimizer stats collection', operation => NULL,
window_name => NULL);
EXEC dbms_stats.delete_schema_stats('PCUSER');
EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname=>'PCUSER', options=>'GATHER');
Setting the updatestatistics attribute to true allows the PolicyCenter upgrader to create any additional
histograms required by the new application version.
For more information, refer to the following Oracle documentation:
• Oracle Database Administrator’s Guide, "Managing Automated Database Maintenance Tasks"
• Oracle Database SQL Tuning Guide, "Managing Optimizer Statistics: Basic Topics"
Resetting useoraclestatspreferences
Any change to the useoraclestatspreferences attribute in database-config.xml (from false to true or from
true to false) takes effect only after an upgrade, either a full upgrade or a rolling (configuration) upgrade.
However, if you reset this attribute from true to false, PolicyCenter throws an exception during the next upgrade
and prevents the upgrade from continuing due to locked table statistics in the Oracle database. Review the details of
the exception provided in the server log to determine which table statistics need to be unlocked. See “Revert to
DBStats Batch Processing for Database Statistics” on page 263 for information on how to unlock the table statistics.
See also
• “The Oracle Statistics Preferences Tab” on page 345
Procedure
1. Reset attribute useoraclestatspreferences to false in file database-config.
2. Start the application server in upgrade mode.
The upgrade fails due to locked table statistics in the Oracle database.
Database Statistics Generation 263
Guidewire PolicyCenter 9.0.6 System Administration Guide
3. Review the server log for which table statistics need to be unlocked.
Search for text that is similar to the following:
By default, PolicyCenter on Oracle does not generate statistics on any table used for processing work items.
PolicyCenter deletes any existing statistics on these tables whenever it updates statistics. You can override this
behavior by using the action attribute of the <tablestatistics> element. You can set the action attribute to one
of the following values:
delete Delete the statistics on the table. This value does nothing in SQL Server.
force Update statistics for this table while running incremental statistics, regardless of the value of attribute
incrementalupdatethreshold on the <databasestatistics> element.
keep Keep the existing statistics. PolicyCenter does not update statistics for any table for which the user explicitly specifies
keep as the value for the action attribute. This value affects any type of database.
See also
• “Configuring Database Statistics Generation” on page 260
• “The Database Statistics Element” on page 261
• “The Histogram Statistics Database Element” on page 265
The name attribute specifies a column name. The numbuckets attribute controls the maximum number of buckets for
the specified histogram. Guidewire requires that you provide a value for this attribute. The default value for the
number of buckets is 254 for the retired and subtype columns. For all other columns, PolicyCenter uses 75, the
database default.
Notes
• For performance reasons, PolicyCenter does not currently create a histogram on publicid columns. These
columns are rarely, if ever, referenced in a WHERE clause.
• Also for performance reasons, PolicyCenter tries to combine as many columns as possible into a single
statement. Certain tabs in the Database Catalog Statistics page display a
dbms_stats.gather_table_stats(...'FOR COLUMNS ...') statement with only the associated column for
each histogram, regardless of the parameter values. This enables you to specify the most granular statement if a
given histogram is out of date.
Database Statistics Generation 265
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Configuring Database Statistics Generation” on page 260
• “The Database Statistics Element” on page 261
• “The Table Statistics Database Element” on page 264
Guidewire categorizes certain types of application data as administration data. (Guidewire frequently shortens this
tem to just admin data.) For example, activity patterns are administration data. This topic provides information
related to importing administrative data into, and exporting data from, Guidewire PolicyCenter. While users enter
much of the information into PolicyCenter directly, at times, it is more convenient or necessary to enter information
in bulk.
IMPORTANT Never modify PolicyCenter operational database tables directly with SQL commands.
configuration→config →Security
See also
• “Importing Security Zone Data” on page 280
IMPORTANT Guidewire recommends that you set the value of this configuration parameter to true in
a non-production test environment only.
See also
• “Automatic Import of Business Rules at Server Startup” on page 315
• Configuration Guide
See also
• “Add Additional Roles and Privileges after Initial Server Startup” on page 270
• “Import Tools Command” on page 388
Importing and Exporting Administrative Data 269
Guidewire PolicyCenter 9.0.6 System Administration Guide
admin/bin
4. Run the following command to import the data in file roleprivileges.csv in the import→gen folder:
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
See also
• “Character Set Encoding for File Import” on page 270
• “Import Tools Command” on page 388
See also
• “Import Tools Command” on page 388
Procedure
1. Export the PolicyCenter roles.
2. Export the administration data.
3. Import the roles into the new system.
4. Import the administration data into the new system.
build/dictionary/data/index.html
The Data Dictionary describes the structure of business objects stored persistently by PolicyCenter, and the
dictionary defines the properties and foreign key references for each object. If you change the data model, regenerate
the PolicyCenter Data Dictionary by using the following command:
gwb genDataDictionary
See also
• Configuration Guide
Public ID Prefix
Each entity that you import into PolicyCenter requires a unique public ID. This is separate from the system ID that
PolicyCenter assigns internally and uses for most system processing. Foreign key references between related objects
use this public ID.
Typically, a company imports data from multiple external sources. If you do import data from multiple sources, use
a naming convention to generate public IDs for external sources. For example, if you import from two systems
(Adminsystem and Salessystem), each source can have a contact entity with ID=5432. Thus, Guidewire
recommends that you use the following ID format so that the IDs do not register as duplicates:
origin:ID
By using this format, the contact from the first system comes in as adminsystem:5432 and the contact from the
second system comes in as salessystem:5432. Thus, there is no risk of duplicate IDs. There is also the benefit of
knowing from which system the record originated.
Public IDs need to be unique only within objects of the same type. For example, all policy objects must have a
different public ID. However, an account and a policy with the same public ID do not conflict with each other.
Public IDs cannot exceed 20 characters in length.
PolicyCenter appends this public ID prefix to each administrative entity created in an individual PolicyCenter
configuration. Thus, the public ID format becomes the following:
{PublicIDPrefix}:{ID}
If you have multiple developers, you must coordinate the public ID prefix so that no public ID prefixes overlap. For
example, each engineer can use their initials or computer names as a public id prefix.
You can use the same prefix for multiple development and testing databases if you do not ever transfer data between
them.
1: ADDRESS
2: type,data-set,entityid,addresstype,addressline1,createuser
3: Address,0,ab:1001,home,1253 Paloma Ave.,import_tools
4: Address,0,ab:1002,business,325 S. Lake Ave.,import_tools
The import_tools command distinguishes between two types of information in an import file:
• Heading information
• Data information.
PolicyCenter treats any line that contains the string entityid as a heading.
PolicyCenter considers as data any line:
• Without an entityid string
• With comma delimited values
• With a value in its third comma-delimited field
In the example shown, the import_tools command treats line 2 as a heading and lines 3 – 4 as data. The
import_tools command ignores line 1. If the command encounters a data line before a heading line, it returns an
error.
IMPORTANT Guidewire supports using the import_tools command to import administrative data
only.
type,data-set,entityid,addresstype,addressline1,createuser
The following fields follow the three required fields (type, data-set, and entityid):
• addresstype – Represents a typelist
• addressline1 – Represents a column
You do not have to specify all fields in the entity within the import file. You must specify at least the required fields.
You can determine which fields PolicyCenter requires by viewing the entity description in the PolicyCenter Data
Dictionary.
Use lowercase to specify fields, including arrays. In this example, specify AddressLine1 in the data model as
addressline1 in the import file.
To specify a foreign key, use the foreign key name without the concluding ID. In this example of a Person import:
1: type,data-set,entityid,firstname,lastname,primaryaddress,workphone,primaryphone,
taxid,vendortype,specialtytype
2: Person,0,demo_sample:1,Ray,Newton,demo_sample:4000,818-446-1206,work,,,
3: Person,0,demo_sample:2,Stan,Newton,demo_sample:4002,818-446-1206,work,,,
4: Person,0,demo_sample:3,Harry,Shapiro,demo_sample:1004,818-252-2546,work,,,
5: Person,0,demo_sample:4,Bo,Simpson,demo_sample:1003,619-275-2346,work,,,
6: Person,0,demo_sample:5,Jane,Collins,demo_sample:4003,213-457-6378,work,,,
7: Person,0,demo_sample:6,John,Dempsey,demo_sample:1006,213-475-9465,work,,,
The primaryaddress field is a foreign key to the Address entity. It appears as PrimaryAddressID in the
PolicyCenter Data Dictionary but as primaryaddress in the import data.
If you specify a field in the heading that is not a recognizable column, typelist, foreign key or array, the import
program silently ignores the column and any associated data. In the following example, the import ignores the %$zed
heading field and the somedata value in line 3:
1: ADDRESS
2: type,data-set,entityid,addresstype,addressline1,createuser, %$zed
3: Address,0,ab:1001,home,1253 Paloma Ave.,import_tools, somedata
4: Address,0,ab:1002,business,325 S. Lake Ave.,import_tools,
The first field in any data line must be an entity name or an entity subtype name.
1: Policy
2: type,data-set,entityid,account,corepolicynumber,policytype,producttype,productversion,
systemofrecorddate,,,,,,,,,,,
3: Policy,0,ds:1,ds:1,34-123436-CORE,wc,wc_workerscomp,1,1/1/2002,,,,,,,,,,,
4: Policy,0,ds:2,ds:1,25-123436-CORE,bop,bop_businessowners,1,1/1/2002,,,,,,,,,,,
5: Policy,0,ds:3,ds:3,54-123456-CORE,personalauto,pa_personalauto,1,1/1/2002,,,,,,,,,,,
6: Policy,0,ds:4,ds:4,25-708090-CORE,bop,bop_businessowners,1,1/1/2002,,,,,,,,,,,
7: Policy,0,ds:5,ds:2,98-456789-CORE,bop,bop_businessowners,1,1/1/2002,,,,,,,,,,,
8: Policy,0,ds:6,ds:1,20-123436-CORE,businessauto,ba_businessauto,1,1/1/2002,,,,,,,,,,,
9: Policy,0,ds:7,ds:1,50-123436-CORE,umbrella,u_umbrella,1,1/1/2002,,,,,,,,,,,
...
In lines 3 - 9, the entity name Policy appears in the first field as required. The capitalization of an entity or subtype
name must be identical to that used in the PolicyCenter Data Dictionary. For example, to create a RevisionAnswer
data line the entry name would be invalid if you specified it as revisionanswer.
The second field in a data line is the value of the highest-numbered data-set of which the imported object is part.
2: type,data-set,entityid,account,corepolicynumber,policytype,producttype,productversion,
systemofrecorddate,,,,,,,,,,,
3: Policy,0,ds:1,ds:1,34-123436-CORE,wc,wc_workerscomp,1,1/1/2002,,,,,,,,,,,
PolicyCenter orders data-sets by inclusion. Thus, data-set 0 is a subset of data-set 1 and data-set 1 is a subset of data-
set 2, and so forth. It is possible to request a particular data-set while converting CSV to XML. By default,
PolicyCenter requests data-set 10240. PolicyCenter assumes that data-set 10240 includes every data-set that it is
possible to create.
You can leave the second field blank, in which case PolicyCenter always includes this object in the import
regardless of the requested data-set.
Importing and Exporting Administrative Data 273
Guidewire PolicyCenter 9.0.6 System Administration Guide
1 ADDRESS
2 type,data-set,entityid,addresstype,addressline1,createuser
3 Address,0,ab:1001,home,1253 Paloma Ave.,import_tools
4 Address,0,ab:1002,business,325 S. Lake Ave.,import_tools
6
7 PERSON
8 type,data-set,entityid,firstname,lastname,primaryaddress,inaddressbook,loadrelatedcontacts,
referred,contactaddresses
9 Person,0,ab:2001,John,Foo,ab:1002,true,true,true,ContactAddress|address[ab:10001,ab:1002]
10 Person,0,ab:2002,Paul,Bar,ab:1002,false,false,false,ContactAddress|address[ab:10001]
11 Person,0,ab:2003,David,Goo,,false,true,false,,
In the previous example, the primaryaddress on line 9 is a foreign key to the Address specified on line 4.
If PolicyCenter cannot resolve a foreign key reference and does not require the foreign key, PolicyCenter imports
the data, sets the foreign key field to null, and reports an error. If PolicyCenter does require the foreign key, then
PolicyCenter reports an error and does not import that data.
arraykey|foreignkey[publicID,publicID,...]
In the PERSON example (line 9), the arraykey value is the array key on the parent entity (Person). The foreignkey
is the foreign key name of the array without the ID. ContactAddress is the array key and address is the foreign key
name. The public ID values [publicID,publicID,...] correspond to public IDs that are referenced by the foreign
key.
In this format, the arraykey is optional. However, you might want to retain it for readability.
[ [array_entry];[array_entry]; ...]
Enclose each array_entry in brackets. Separate multiple entries with semicolons. Enclose all completed entries in a
second set of brackets. Each array_entry is made up of comma-separated [type|value] pairs as follows:
[[[type|value],[type|value]];[[type|value],[type|value]]]
The type is the name of a column, typelist, or foreign key, as in a heading line. The value is the column value,
typelist typecode, or a foreign key. In the following sample, there are three array_entry specifications, the first
and last array_entry specifications appear in bold:
274 chapter 18: Importing and Exporting Administrative Data
Guidewire PolicyCenter 9.0.6 System Administration Guide
Group
type,data-set,entityid,users
Group,0,demo_sample:27,[[[user|demo_sample:101],
[loadfactor|50],[loadfactortype|loadfactorview]];[[user|demo_sample:102],
[loadfactor|100],[loadfactortype|loadfactoradmin]];
[[user|demo_sample:103],[loadfactor|50],[loadfactortype|loadfactorview]]]
Procedure
1. First, export the current administrative data as an XML file by using the functionality available on the Export
Data screen available to PolicyCenter administrators. This screen provides the ability to export various types of
administrative data in XML format.
2. Modify the file to suit your business needs, carefully preserving the XML formatting for administrative data.
3. Regenerate the XSD files by using the following command in the PolicyCenter installation directory:
gwb genImportAdminDataXsd
It is important to regenerate the XSD files every time that you modify the data model.
4. Re-import the modified file by using either the import_tools command or the Export Data screen available to
PolicyCenter administrators. This screen provides the ability to import administrative data in XML format into
PolicyCenter.
See also
• “Importing and Exporting Administrative Data from PolicyCenter” on page 278
• “Constructing the XML for the Administrative Data Import File” on page 275
• “Import Tools Command” on page 388
gwb genImportAdminDataXsd
Regenerate the XSD files any time you modify the data model. These files are likely to change as you configure the
data model.
The following XML example shows the default activity pattern 30 Day Diary from the PolicyCenter administrative
export file.
<?xml version="1.0"?>
<import xmlns="http://guidewire.com/pc/exim/import" version="p5.86.a12.309.46"
usePeriodicFlushes="true">
<ActivityPattern public-id="sample_pattern:19">
<ActivityClass>task</ActivityClass>
<AutomatedOnly>false</AutomatedOnly>
<Category>reminder</Category>
<Code>30_day_diary</Code>
<Command/>
<Description/>
<Description_L10N_ARRAY/>
<DocumentTemplate/>
<EmailTemplate/>
<EscBusCalLocPath/>
<EscalationBusCalTag/>
<EscalationDays/>
<EscalationHours/>
<EscalationInclDays/>
<EscalationStartPt/>
<Mandatory>false</Mandatory>
<PatternLevel>All</PatternLevel>
<Priority>normal</Priority>
<Recurring>true</Recurring>
<ShortSubject/>
<ShortSubject_L10N_ARRAY/>
<Subject>30 day diary</Subject>
<Subject_L10N_ARRAY/>
<TargetBusCalLocPath/>
<TargetBusCalTag/>
<TargetDays>30</TargetDays>
<TargetHours/>
<TargetIncludeDays>elapsed</TargetIncludeDays>
<TargetStartPoint>activitycreation</TargetStartPoint>
<Type>general</Type>
</ActivityPattern>
</import>
You can:
• Modify any existing entry in the administrative export file and re-import the file.
• Add additional entries by using the existing entries as a model and re-import the file.
gwb genImportAdminDataXsd
You can validate the XML of your import file against a pc_import.xsd file by using the following code:
uses java.io.File
uses java.io.FileInputStream
uses javax.xml.validation.SchemaFactory
uses javax.xml.XMLConstants
uses javax.xml.parsers.SAXParserFactory
uses org.xml.sax.helpers.DefaultHandler
uses gw.testharness.TestBase
IMPORTANT PolicyCenter supports this command for importing administrative data, but not for
importing other types of data.
PolicyCenter uses the public ID of each object in the data import to determine if an object with that public ID
already exists in the database. See “Administrative Data and the PolicyCenter Data Model” on page 270 for a
discussion of public IDs
During import, if PolicyCenter finds a match in entity public IDs, it does the following:
• If there is no difference between the import record and the database record, PolicyCenter ignores the import
record.
• If there are differences between the two records, PolicyCenter overwrites any existing database record values
with the values from the import file. PolicyCenter does not throw concurrent data change exception if the
imported records overwrite existing records in the database.
• If there are null entries for a record in the import file, PolicyCenter nulls out those values in the record in the
database.
IMPORTANT Guidewire supports using the import_tools command to import administrative data
only.
See also
• “Import Tools Command” on page 388
Procedure
1. Create a CSV or XML file describing the data, by using one of the following methods:
• Create the XML or CSV file manually.
• Export the current administrative data as an XML file from PolicyCenter and modify the file.
2. Import the CSV or XML file by using the import_tools command:
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
The -import option requires that you provide the name of the file to import (fileName). There are a number
of other options that you can set as well.
See also
• “Constructing a CSV File for Import” on page 272
• “Construct an XML File for Import” on page 275
• “Import Tools Command” on page 388
Importing Arrays
PolicyCenter handles arrays differently depending on whether it is importing an owned array or a virtual array:
• Owned array – If an entity owns the array, PolicyCenter notifies you of the differences between the imported
data and any existing data. However, you do not have the choice of resolving the array elements. PolicyCenter
only gives you the option to delete the current array and replace all of the contents of the imported array.
• Virtual array – It is not possible replace the contents of a virtual array with those of an imported array as it is
not possible to delete a virtual array.
Next steps
During an import, PolicyCenter does not run validation rules. However PolicyCenter does run pre-update rules. For
this reason, run user exception and group exception batch processing after you import administrative data.
IMPORTANT If a particular data set is not on the export list, you cannot export it by using this
function.
During export or import of users and groups, PolicyCenter also exports or imports any entities referred to by any
User or UserRole object through a foreign key or array.
You can export XML-formatted administrative data only.
Notes
1. During export or import of users and groups, PolicyCenter also exports or imports any entities referenced by a
User or UserRole object through a foreign key or array.
2. It is not possible to import a previously exported data file from a production environment back into
PolicyCenter as it does not contain the required username/password data.
See also
• “About Adding Admin Data after Initial Server Startup” on page 269
Role Definitions
File roles.csv contains a list of PolicyCenter roles, along with a human-readable name and description for each
role. Within this file, set the name and description fields to whatever is useful in uniquely identifying the role.
PolicyCenter reads the file, starting with the first row that contains the entityid identifier and imports the data into
the database.
The following code samples are examples of role definition entries:
Roles,
type,data-set,entityid,description,name,carrierinternalrole,roletype
Role,0,superuser,Superuser with full permissions,Superuser,true,user
Role,0,underwriter_supervisor,Base permissions for a supervisor,Underwriting Supervisor,true,user
Role,0,underwriter,Permissions for underwriter,Underwriter,true,user
,,,,,,
type,data-set,entityid,permission,role
RolePrivilege,0,sample_data:2,abcreate,k
RolePrivilege,0,sample_data:3,abdelete,audit_examiner
RolePrivilege,0,sample_data:4,abedit,audit_examiner
RolePrivilege,0,sample_data:5,abview,audit_examiner
RolePrivilege,0,sample_data:6,anytagcreate,audit_examiner
,,,,
Each row in file roleprivileges.csv maps a single permission to a role. Each role has multiple permissions and
thus multiple rows. For example, the abcreate entry grants permission to create a contact to the audit_examiner
role.
The PolicyCenter Security Dictionary provides a full list of role permission, along with a brief description of each. It
also provides a list of the correspondences between roles and permissions.
File security- Define additional security zones in file security-zones.xml. PolicyCenter loads this data as part of the
zones.xml administration data load into an empty database at initial server startup. See “Understanding the Security
Zones File” on page 281 for more information.
Export/import of Import new security zone data using the export and import functionality accessible in the PolicyCenterAd-
data ministration tab. See “Import Security Zones” on page 282 for more information.
See also
• For information on PolicyCenter import of administration data at initial server startup, see “About the import
Directory” on page 268.
Procedure
1. Open a command prompt and navigate to the PolicyCenter installation directory
2. Run the following command:
gwb genImportAdminDataXsd
3. In the file system, navigate to the following location in the PolicyCenter installation directory:
Importing and Exporting Administrative Data 281
Guidewire PolicyCenter 9.0.6 System Administration Guide
build/xsd
<SecurityZone public-id="pc:236">
<Description>Some meaningful description…</Description>
<Name>Some meaningful name…</Name>
</SecurityZone>
This example sets the public-id value to pc:236. Chose a public ID value that makes business sense for your
organization.
6. After saving the file, navigate to the following location in PolicyCenter:
Administration→Utilities→Import Data
7. Browse to find your modified file and click Next.
If there are conflicts between the administrative data in the import file and the existing administrative data,
PolicyCenter provides a mechanism for conflict resolution. You can chose to do one of the following:
• Overwrite all existing data with the imported data
• Discard updates to any existing data and keep the existing data
• Interactively resolve each data conflict on a case-by-case basis
8. After resolving all data conflicts, click Finish.
Result
You can now use the updated set of security zones in PolicyCenter without server restart.
See also
• “Construct an XML File for Import” on page 275
• “About Exporting PolicyCenter Administrative Data” on page 279
• “About Importing PolicyCenter Administrative Data ” on page 278
In the geodata folder, PolicyCenter stores the zone information in country-specific zone-config.xml files, with each
file in its own specific country folder. For example, the zone-config.xml file that configures address-related
information in Australia is in the following location in the Studio Project window.
configuration→config→geodata→AU
Guidewire provides the US-Locations.txt and similar files for testing purposes to support autofill and
autocomplete when users enter addresses. This data is provided on an as-is basis regarding data content. The
provided zone data files are not complete and might not include recent changes.
Also, the formatting of individual data items in these files might not conform to your internal standards or the
standards of third-party vendors that you use. For example, the names of streets and cities are formatted with mixed
case letters but your standards may require all upper case letters.
The US-Locations.txt file contains information that does not conform to United States Postal Service (USPS)
standards for bulk mailings. You can edit the US-Locations.txt file to conform to your particular address
standards, and then import that version of the file.
Procedure
1. Start the PolicyCenter server.
2. Clear the zone data staging tables.
If you have multiple countries defined, you can include the -country countryCode option to clear staging
zone data only for the country you want to load:
zone_import -password password -clearstaging [-country countrycode]
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
3. Load the zone data file into the staging tables:
zone_import -password password -country countrycode -import filename
4. Clear existing zone data in production. Perform this step if zone data already exists for the country whose data
you intend to load.
zone_import -password password [-country countrycode] -clearproduction
5. Set the PolicyCenter server run level to MAINTENANCE:
system_tools -password password -maintenance
6. Load zone data from the staging tables into production:
table_import -server url -password password -integritycheckandload -zonedataonly
7. Set the server run level back to MULTIUSER:
system_tools -password password -multiuser
Importing and Exporting Administrative Data 283
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• For information on using the zone_import command, see “Zone Import Command” on page 403.
• For information on using the table_import command, see “Table Import Command” on page 399.
• For information on importing zone data and database staging tables generally, see the Integration Guide.
• For information on the web service ZoneImportAPI that also imports zone data, see the Integration Guide.
<Zones countryCode="US">
...
<Zone code="city" fileColumn="3" granularity="2">
...
See also
• For complete information about zone-config.xml, including a description of its XML elements and attributes,
see the Globalization Guide.
The free-text batch load command loads the Guidewire Solr Extension, a full-text search engine, with index
documents for all policies in your PolicyCenter application database. Index documents are XML documents that
contain a subset of the information from policies in PolicyCenter. The Guidewire Solr Extension indexes the
documents after it receives them from the free-text batch load command.
Note: The free-text batch load command runs on the host on which the Guidewire Solr Extension
resides. The command is located in the /opt/gwsolr/pc/solr/policy_active/conf directory, not
the PolicyCenter/admin/bin directory.
See also
• Installation Guide
• Configuration Guide
Run the free-text batch load command whenever any of the following occur:
• Policies are bulk loaded into the PolicyCenter application database.
• Indexes become corrupted in the Guidewire Solr Extension, as reported by the Guidewire Solr Extension web
application.
• Changes are made to the metadata definitions of entities and relationships in the policy graph, and these changes
affect index documents stored in the Guidewire Solr Extension.
• Changes are made to attribute definitions in schema.xml.
• Changes to the mapping (policy-search-config.xml or custom mappers) that affect already indexed periods.
• Your instance of PolicyCenter is upgraded to a later version, and the upgrade changes metadata definitions for
index documents stored in the Guidewire Solr Extension.
Do not run the free-text batch load command if you configured free-text search for embedded operation. Whenever
the Guidewire Solr Extension runs in embedded mode, use the Internal Tools Free Text Search screen to execute the
Free‐text Batch Load Command 285
Guidewire PolicyCenter 9.0.6 System Administration Guide
batch load command instead. If you run the batch load command with embedded operation, PolicyCenter limits the
number of index items to 10,000.
See also
• “Free-text Search” on page 382
https://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-4.10.pdf
Procedure
1. In PolicyCenter, do the following:
a. Suspend the PCSolrMessageTransport message destination.
b. Set the EnableDisplayBasicSearchTab script parameter to false.
2. Shut down and restart the Guidewire Solr Extension.
Shutting down the Guidewire Solr Extension forces it to pick up any changes to data-config.xml.
3. Navigate to the following location in the Solr installation:
/opt/gwsolr/pc/solr/policy_active/conf
5. After the command finishes, examine the status response to verify that your load succeeded.
A problem-free load gives the same positive number for Total Rows Fetched and Total Documents Processed.
6. In PolicyCenter, do the following:
a. Resume the PCSolrMessageTransport message destination.
b. Set the EnableDisplayBasicSearchTab script parameter to true.
http://hostName:8983/pc-gwsolr/pc_policy_active/dataimport?command=full-import&entity=policy
See also
• Configuration Guide
This topic describes a tightly constrained system for updating data on a running production server other than through
PCF pages or web services. Guidewire calls this mechanism the Production Data Fix tool.
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server. Guidewire recommends multiple
people review and test the code and the results before attempting the data change on a production
server.
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server. Guidewire recommends multiple
people review and test the code and the results before attempting the data change on a production
server.
Separation of Permissions
To decrease security risks, the Production Data Fix tool separates its action into separate tasks, each of which has
different permissions and entry points.
By having multiple different paths and multiple different roles, there is no single point of attack.
IMPORTANT Guidewire recommends that you force separation of responsibilities into two different
PolicyCenter users. Give each user either the wsdatachangeedit permission (to register data change
code) or the admindatachangeexecd permission (to execute the code), but not both permissions.
Preserving Results
ClaimCenter captures the results of script execution. This increases accountability and makes debugging easier.
Replay Prevention
To prevent replay attacks, the Production Data Fix tool runs each registered script a maximum of one time. If you
need to run it again, you must first re-register the script and create a new change control reference.
Administrative users with the admindatachangeview permission can view a special PolicyCenter Data Change
administration screen that displays information about data change operations. To access this page, navigate to the
following location in Guidewire PolicyCenter:
Administration→Utilities→Data Change
See also
See also
WARNING Carefully test your data change code. Guidewire strongly recommends that multiple
people review and approve the code for safety and correctness before proceeding.
To persist changes to the database, use the gw.Transaction.Transaction class and its method runWithNewBundle.
You pass the method a block that runs code. If the block does not throw an exception, PolicyCenter persists any data
changes from your Gosu block to the database. If the block throws an exception, no changes persist to the database.
Design your data change code to minimize the number of entity instances you change. Too many changes in entity
data increases the chance of memory issues or concurrent data exceptions.
Save your Gosu code to a local file that ends in .gsp.
See also
• Gosu Reference Guide
IMPORTANT If you need to re-run a successful data change, you must first re-register the script with a
new reference ID. This is requirement preserves the integrity of the results log.
See also
• “Writing Gosu Data Change Code” on page 291
WARNING Before registering a data change on a production server, register and run the data
change on a development server first. Guidewire recommends multiple people review and test the
code and the results before attempting the data change on a production server.
Procedure
1. Ensure that the PolicyCenter application server is running.
2. Open a command prompt and navigate to the following location in the PolicyCenter installation:
admin/bin
data_change –description DESCRIP –edit REFID –gosu PATH –server SERVERURL –user USER –password PW
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
For example:
Result
The script outputs results such as:
Running data_change.gsp
Connecting as su to URL http://localhost:8180/pc/ws/gw/webservice/systemTools/DataChangeAPI
Edit change ref=REFID1234 publicId=cc:1
See also
• “Data Change Command Tool Reference” on page 294
WARNING Before registering a data change on a production server, register and run the data
change on a development server first. Guidewire recommends multiple people review and test the
code and the results before attempting the data change on a production server.
Procedure
1. Call the DataChangeAPI web service method updateDataChangeGosu.
2. Pass the method the following arguments as String objects:
• The reference ID
• A human-readable description
• The Gosu code to run
For example:
Result
The method call returns the public ID of the new DataChange entity instance.
See also
• “Register a Data Change Using a Command Prompt” on page 291
• “Data Change Command Tool Reference” on page 294
292 chapter 20: Production Data Fix Tool
Guidewire PolicyCenter 9.0.6 System Administration Guide
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server first. Guidewire recommends
multiple people review and test the code and the results before attempting the data change on a
production server.
Procedure
1. Log into your PolicyCenter development environment as an administrator with the admindatachangeview
permission.
2. Select the Administration tab.
3. Expand Utilities→Data Change.
4. In the list of data changes, use the Reference column to find the data change request by its reference ID.
5. Click on the data change row in that list.
The screen shows the Gosu code for that data change.
6. Review the Gosu code to confirm it is what you expect.
7. Click Execute.
During code execution, PolicyCenter does not display the results immediately in the Result pane. Instead, the
status of Executing shows in the list of data changes.
8. After a few seconds, click Reload on the screen to view the current status and results.
• If the change is successful, PolicyCenter confirms the success in a message that uses your reference ID:
• If the change was not successful, PolicyCenter shows any compile errors or exceptions in the user interface
in the Result pane.
9. Confirm your changes in the database and check your logging results from the change.
10. If the data change appears safe in your development environment, carefully register and run the data change
on the production server.
See also
• “Writing Gosu Data Change Code” on page 291
The following sample code uses the setDetailResultWriting method and the ResultsWriter property to create
log messages.
// For demonstration, get a User object and make minor data change to the first name
var u = gw.api.database.Query.make(User).select().first()
bundle.add(u)
u.Contact.FirstName = u.Contact.FirstName + "SUFFIX"
// To log arbitrary text in Data Change UI, get a results writer (type is java.lang.Appender)
var rw = DataChange.util.ResultsWriter
rw.append("Add arbitrary log message here\n")
// enable detailed logging of each property value before and after our change
DataChange.util.setDetailResultWriting(bundle)
})
To test and debug your code in Studio Scratchpad, you may want to print to the console using the standard print
statement. Also, add one more argument to the runWithNewBundle method to represent a user name. For example,
pass the String value "su" to create your writable bundle as the super user.
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server. Guidewire recommends multiple
people review and test the code and the results before attempting the data change on a production
server.
data_change -help
data_change -password password [-server url] [-user user] {
-edit refID -gosu filepath [-description desc] |
-discard refID |
-status refID |
-result refID }
See also
• For a description of how and when to use the data_change command to change data on a running production
server, see “Production Data Fix Tool” on page 289.
• For a description of how to use the DataChangeAPI web service, see “Data Change Web Service Reference” on
page 295.
• For specifics of the data_change command options, see “Data Change Options” on page 387.
294 chapter 20: Production Data Fix Tool
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “Overview of the Production Data Fix Tool” on page 289
• “Typical Use of the Production Data Fix Tool” on page 290
• “Data Change Command Tool Reference” on page 294
• Integration Guide
See also
• “Business Rules Import and Export” on page 309
See also
•
• Application Guide
• Rules Guide
PolicyCenter provides the following user role for use with business rules.
Production Servers
If you are running PolicyCenter business rules on a production server, you must set BizRulesDeploymentEnabled
to true and provide a value for BizRulesDeploymentId. See “Business Rule Production Server Configuration” on
page 300 for more information.
Performance Considerations
See “Business Rule Performance” on page 301 for information on how to use the
BulkLoadRuleHeadByIdCacheEnabled and PreloadBizRulesBeansCacheEnabled configuration parameters to
improve the performance of the business rules.
See also
• For information on the individual configuration parameters see the Configuration Guide.
See also
• Configuration Guide
300 chapter 21: Administering Business Rules
Guidewire PolicyCenter 9.0.6 System Administration Guide
IMPORTANT Using a single query to bulk load a cache significantly reduces the number of database
queries needed during rule execution and the total time needed to run the queries.
0+. Along with the version number, each business rule shows its state in parenthesis next to the version number, for
example 0+ (Draft). Each version of a business rule is always in one of the following states:
• Draft
• Staged
• Approved
At the creation of a new rule version, PolicyCenter generates a work-in-progress rule with an initial status of Draft.
This draft rule contains the same data values as the parent rule version from which it was made.
The work-in-progress rule must go through the three states of Draft, Staged, and Approved before it is possible to
deploy the new rule version. After these three stages are complete, and after you deploy the rule, PolicyCenter
assigns an updated version number to the rule. This version of the rule becomes the latest running version of the rule
that PolicyCenter evaluates at runtime.
The version of a rule that PolicyCenter evaluates at runtime contains the word Evaluated after the version number.
The Evaluated version of a rule is always the latest iteration of a rule that can run in a specific environment.
In general, Guidewire recommends that you use separate cluster environments for each of the following in working
with PolicyCenter business rules:
• Development
• Test
• Production
Typically, you deploy a rule version in a production environment only.
See also
• “Business Rule Versioning” on page 301
• “Business Rule State” on page 303
Draft PolicyCenter assigns a status of Draft after you save the initial version of the rule. A rule reverts to Draft status
whenever the rule undergoes any type of editing. It is not possible export a rule in the Draft state.
Staged You manually move a rule in the Draft state to the Staged state, after you complete rule editing. Typically, this is the
point in the rule lifecycle that you export the rule from the development environment and import the rule into the
testing environment.
Approved You manually move a rule from the Staged state to the Approved state, usually in the testing environment after you
complete the rule evaluation phase. Typically, this is the point in the rule lifecycle that you export the rule from the
testing environment and import it into the development environment.
Deployed You manually move a rule from the Approved state to the Deployed state. Typically, this occurs after you import the
rule into the production environment.
The following diagram describes the various states associated with a business rule, as it is created, edited, and
deployed in development and production environments.
Create/Edit Rule
Approved Deployed
Export Back to
Implementation Staged Development
Specialist Export Rule and
Testing*
Staged Approved
Export Business Rule Business Rule
Rule
* Export deployed rules from Production and import back to Development and Testing to keep all environments in sync.
Guidewire does not require that you move the rule back to development before making changes. However, if you do
not export a deployed rule back to the development server, the version number on the development server does not
correspond to the version on production. For example, if you never export the rule back to development, the version
number stays at 0+ on the development server, and increases each time you deploy it on production.
The following table shows rule version and status change for the same rule, except that you do not export the rule
from production to development.
BizRules
BizRules.Audit
BizRules.Autocomplete
BizRules.Compiler
BizRules.ContextHelp
BizRules.Export
BizRules.Import
BizRules.UI
BizRule.Validation
The business rule information that PolicyCenter logs includes the following:
• The rule context
• The rule ID
• Whether the rule condition evaluates to true or false
• The rule action parameters as a list of name-value pairs, which is empty if the condition evaluates to false
See also
• “Application Logging” on page 25
• “Set Log Level” on page 329
ERROR BizRules.Validation Rule Test Rule has validation error: Could not resolve symbol
for : SomeActivity
Guidewire recommends that you review the application log after starting the application server to determine if
PolicyCenter reports any rule as invalid.
You transfer rules between different server environments by exporting the rules from one server environment and
importing the rules into the other server environment. Typically, one or more appointed Rules Administrators
manage the export and import of business rules between different PolicyCenter server environments.
PolicyCenter Action
Imports the rule PolicyCenter imports the rule if any of the following are true:
• The rule for import is new and does not exist in the importing server environment.
• The rule for import is an update to an existing rule in the importing server environment.
Does not import PolicyCenter does not import the rule into the importing server environment if any of the following are
the rule true:
• If there is no difference between the existing rule and the rule for import.
• If the existing rule is already an update of the rule for import.
Raises a conflict PolicyCenter raises a conflict if it cannot automatically decide whether to import the rule. This can happen
for example, if the existing rule and the rule for import both have updates that conflict.
As a concrete example, suppose that you update the rule on the testing server. Then you independently
update the rule on the development server. You export the rule from the development server and import
it into the testing server. The testing server raises a conflict while trying to import the rule. Within
PolicyCenter, you must choose whether to keep the existing rule or take the importing rule.
This type of rule conflict can occur also if you update or customize a default business rule and Guidewire
later provides an updated version of that rule in an upgrade. In that case, you must choose either to keep
one or the other of the updated rules or manage the merge of the two rules.
Rule export does not export utility functions, context objects, or other changes to the business rules plugin. You
must propagate changes to Gosu functions or context objects on the development server to the testing and
production servers.
IMPORTANT The user who is responsible for resolving rule conflicts, either in a production
environment or non-production environment, must have the necessary rule edit permission.
Source and Target Data Models and Rule Export and Import
The business rules data model in the source and target systems must match. Otherwise, the rule import into the target
system fails. Ensure that the business rules data model of the source and target systems is the same before exporting
any business rule. If necessary:
• Modify the business rules data model of one system so that it matches the business rules data model of the other
system.
• Regenerate the business rules export file.
• Repeat the business rules import operation.
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the following screen:
Administration→Business Settings→Business Rules→Underwriting Rules
3. From the More drop-down list, chose one of the following options:
310 chapter 22: Business Rules Import and Export
Guidewire PolicyCenter 9.0.6 System Administration Guide
Export Se- Exports only the selected business rules. PolicyCenter exports the selected rules from the currently active
lected screen only.
Export All Exports all business rules visible on all pages. PolicyCenter does not export rules hidden because of filters.
Nor does PolicyCenter export rules in the Draft state that have never been deployed. If a rule is in the Draft
state and has one or more previously deployed versions, PolicyCenter exports the last deployed version.
See also
• “Import Business Rules into Guidewire PolicyCenter” on page 311
• “The Import/Export Status Screen” on page 311
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the following administrative screen:
Administration→Business Settings→Business Rules
3. Choose one of the following options:
See also
• “Export Business Rules from Guidewire PolicyCenter” on page 310
• “The Import/Export Status Screen” on page 311
• “About the Business Rules Export File” on page 312
See also
• “About the Business Rules Export File” on page 312
• “The Review Import/Complete Import Screens” on page 312
See also
• “Export Business Rules from Guidewire PolicyCenter” on page 310
• “Import Business Rules into Guidewire PolicyCenter” on page 311
• “The Compare Rules Screen” on page 314
Yes If there are pending rule conflicts to resolve for a given rule import operation, PolicyCenter displays a Complete
Import button in the Imports table for that rule. Clicking Complete Import opens the Complete Import screen.
The Review Import and Complete Import screens are identical except that the functionality changes depending on
whether you are reviewing a rule import operation or resolving a rule import conflict.
The Review Import / Complete Import screen consists of the following distinct sections:
• “The Rule Import Disposition Table” on page 313
• “The Rule Import Manage Synchronization Table” on page 313
To access the business rules Import/Export Status screen, navigate to the following location within Guidewire
PolicyCenter:
312 chapter 22: Business Rules Import and Export
Guidewire PolicyCenter 9.0.6 System Administration Guide
Column Description
Outstanding The subcategories under Outstanding have the following meanings:
• New Rule – Number of rules in the import file that have no equivalent on the importing server.
• New Version – Number of rules in the import file that are newer versions of rules on the importing server.
• Rule Deployment – Number of rules being imported that have a deployed version.
• Version Conflict – Number of rules for which there are version conflicts between the importing rules and
the existing rules on the importing server.
Note: If there are no rule conflicts for a given import operation, all subcategories for that operation display
zero (0).
Imported Number of rules PolicyCenter imported from the import file.
Discarded Number of rules discarded by user action.
Applied Edited Number of rules that the Rule Administrator edited and saved.
No Change Number of rules that require no additional action. These rules exist in the importing server already and do
not require updating. For example, the rule in the import file is an earlier version of the rule version on the
importing server.
To access the Import/Export Status screen, navigate to the following location in Guidewire PolicyCenter:
Administration→Business Settings→Business Rules→Import/Export Status
Column Description
Rule Name Name of the rule. PolicyCenter adds a warning next to the rule name if the importing rule name duplicates the
name of a differently configured rule on the importing server.
Status Current status of the rule. Some examples are:
• New Rule – This rule does not exist on the importing server.
• New Rule Version – This version of the rule does not exist on the importing server.
• No Change – The existing rule is a more updated version of the importing rule.
• Rule Deployment – The existing version of the rule needs deployment to match the rule version of the importing
rule.
• Versions conflict – There are conflicts between the existing and importing versions of the rule that you must
manage manually.
Depending on the rule status, it is possible for the list of possible actions in the Available Actions column to change.
Available If there is no import conflicts with the given rule, there are no actions available in this column.
Actions
Business Rules Import and Export 313
Guidewire PolicyCenter 9.0.6 System Administration Guide
Column Description
If there is a conflict between the importing and existing rule versions, the following actions are available:
• Existing Version – Keep the existing rule on the importing server and discard the imported rule.
• Importing Version – Keep the importing rule version and discard the existing rule version on the importing server.
• Compare – Click to open the Compare Rules screen. Use this screen to compare the two rules side‐by‐side to view
their similarities and differences and determine the course of action to take.
Existing The version of the rule that exists in the importing server. Click to access a read‐only view of the rule.
Version
Importing The version of the rule in the import file. Click to access a read‐only view of the rule.
Version
In this table, there is an additional column with no heading just to the left of the Rule Name column. An icon (with a
gear) in this column indicates that the PolicyCenter business rules editor does not manage this rule. As the rule is
external to the editor, it is not possible to edit the rule in most respects.
To access the Import/Export Status screen, navigate to the following location in Guidewire PolicyCenter:
Administration→Business Settings→Business Rules→Import/Export Status
Keep Exist- Chose to retain the currently existing rule and discard the importing rule. If you select this option, PolicyCenter
ing Version reopens the Complete Import screen with the Existing Version radio button selected for the rule under Available Actions.
Replace with Chose to accept the importing rule and discard the existing rule. If you select this option, PolicyCenter reopens
Importing the Complete Import screen with the Importing Version radio button selected for the rule under Available Actions.
Version
Edit Select one of the following from the Edit drop‐down list to modify either the existing or importing rule:
• Existing Version
• Importing Version
If you choose to edit a rule version, PolicyCenter opens the rule in edit mode. Editing a rule creates a new Draft
version of the rule.
If you save the edited rule, it becomes the resolved rule version for import completion. After making this update,
you can no longer select either the importing or existing rule in the Complete Import screen. The status of the rule in
the Complete Import screen changes to Edited Version. If you select the rule and apply your change, the Applied Edited
field increments by one (1).
PolicyCenter disables the edit functionality if the existing rule version is in Draft mode.
See also
• “Resolve Rule Import Conflicts” on page 315
314 chapter 22: Business Rules Import and Export
Guidewire PolicyCenter 9.0.6 System Administration Guide
Procedure
1. Navigate to the following location in Guidewire PolicyCenter:
Administration→Business Settings→Business Rules→Import/Export Status
2. For each rule import that has a status other than Completed, click Complete Import.
The Complete Import screen opens.
3. Review each rule that shows an import conflict in the Complete Import screen. Do one of the following:
a. Click the Existing Version or the Importing Version link to see the details for that rule version.
b. Click the Compare link to open the Compare Rules screen in which you can view the two rule versions in a
side-by-side table.
4. (Optional) After reviewing the two rules in the Compare Rules screen, do one of the following:
• Click Keep Existing Version to accept the existing rule on the import server with no change.
• Click Replace with Importing Version to accept the import rule with no change.
• Select an Edit option to open an editable view of either the existing or importing version of the rule.
• Note: PolicyCenter disables the edit functionality if the existing rule version is in Draft mode.
5. (Optional) Make your edits the Compare Rules screen, then click Save Edited Version.
If you edit either of the rule versions in the Compare Rules screen, that version of the rule becomes the resolved
version of the rule. Thereafter, you cannot ever use the importing or existing version of the rule to resolve the
rule conflict.
PolicyCenter reopens the Complete Import screen.
6. In the Complete Import screen, select the resolution type by selecting a radio button in the Available Actions cell
for the rule of interest. Your choices are:
• Use the existing rule version.
• Use the importing rule version.
• Use the new, edited, version of the rule.
7. Select the rule for update by selecting the checkbox to the left of the rule name.
8. Save and apply your changes by clicking one of the following function buttons:
Import Selected Enabled if you select one or more rules. It must be possible to import these rules.
Discard Selected Enabled if you select one or more rules.
Import All Remaining Enabled if there are no remaining unresolved conflicts. It must be possible to import these rules.
Discard All Remaining Enabled if you select one or more rules.
9. Repeat these steps as necessary to resolve all rule conflicts in the rule import operation.
See also
• “The Compare Rules Screen” on page 314
initial database upgrade, it is possible to automatically load data from the following Studio Project folder into the
PolicyCenter database:
configuration→config→import→bizrules
Configuration parameter BizRulesImportBootstrapRules in config.xml controls whether PolicyCenter imports
the business rules in folder bizrules automatically at initial server start, if you have an empty database.
IMPORTANT Guidewire recommends that you set this parameter to true in an environment in which
you plan to do initial rule review or rule development only.
See also
• “Business Rules Import at Initial Server Startup” on page 269
Procedure
1. Set configuration parameter BizRulesImportBootstrapRules in config.xml to true.
2. Place the business rules to import in the following location in PolicyCenter Studio:
configuration→config→import→bizrules
3. With an empty database, start the PolicyCenter application server.
PolicyCenter populates the database with the business rules in the bizrules directory.
4. Reset configuration parameter BizRulesImportBootstrapRules to false.
See also
• “About the import Directory” on page 268
• Configuration Guide
Procedure
1. Temporarily, start the application server with the value of BizRulesDeploymentEnabled set to false.
In this case, PolicyCenter ignores the value of BizRulesDeploymentId and import validation does not stop
the import of the file.
2. After the rule import succeeds, restart the application server with the value of BizRulesDeploymentEnabled
set to true.
316 chapter 22: Business Rules Import and Export
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• Configuration Guide
Procedure
1. Complete the upgrade of your PolicyCenter application.
2. Point an application instance to an empty database.
3. Set the value of configuration parameter BizRuleImportBootstrapRules in file config.xml to true for that
application instance.
IMPORTANT Guidewire recommends that you set the value of this parameter back to false
after you complete the following steps.
Administration Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
chapter 23
Server Tools
Guidewire provides server tools to assist you with certain server and database administration tasks.
See also
• “Internal Tools” on page 381
See also
• “Server Modes” on page 53
Suspend Sched- Stops the batch processing scheduler that triggers the execution of the batch processes. After stopping the
uler scheduled, you can restart it using this same button.
The Batch Process Info screen contains the following areas or tabs that contain batch process information.
Processes Lists all the available batch processing types along with information about each individual batch process. It is also
possible to run certain actions on a selected batch processing type from this screen. See “Processes Table Columns”
on page 322 for more information.
Chart Shows the execution time in seconds and the number of operations performed by the batch process over time in a
graphical format.
History Shows records of past runs of the selected batch process in tabular form.
Note: It is possible to run writers for work queues either from the Work Queue info screen or from the
Batch Process Info screen.
See also
• “Administering Batch Processing” on page 81
• “Work Queues and Batch Processes, a Reference” on page 98
• “Processes Table Columns” on page 322
• “Chart and History Tabs” on page 323
• “Work Queue Info” on page 324
Column Description
Batch Process Name of the batch processing type.
Description Description of the batch processing type.
Action Actions that you can perform on the selected batch processing type. These actions include:
• Run – Runs a batch process. The Run button is active for all batch process types that belong to the
BatchProcessTypeUsage category UIRunnable.
• Stop – Stops an actively running batch process.
• Download History – Downloads a batch process history report for the selected batch process in HTML format.
See “Download a Batch Process History Report” on page 323 for more information.
You cannot start multiple runs of non‐exclusive custom batch processes from the Batch Process Info screen. In‐
stead, you must use the maintenance_tools command to start multiple runs of non‐exclusive custom batch
processes.
Last Run Date on which this batch processing type last run.
Last Run Status Completion status from the last run of this batch processing type. This field shows as Failed or Interrupted if the
batch process OperationsFailedReasons is non‐null.
Next Scheduled Date of the next scheduled run for this batch processing type.
Run
Schedule Scheduling actions that you can perform on the selected batch processing type. These actions include:
• Stop – Disables the scheduled runs for the selected batch processing type.
• Start – Enables the scheduled runs for the selected batch processing type.
Cron-S M H DOM Column header stands for seconds, minutes, hours, days of month, month, and day of week.
M DOW
See also
• See “Work Queues and Batch Processes, a Reference” on page 98 to determine if it is possible to run multiple
instances of a batch processing type.
• See “Maintenance Tools Command” on page 390 for details of how to start multiple batch processes of the same
type.
• See the Integration Guide for a discussion of the meaning of the Exclusive property on a batch process.
Column Description
Start Requested The time at which PolicyCenter received the request to start the process.
Failure Reason For batch processes that are work queue writers, Failure Reason is the reason that a work item failed processing.
See also
• “The Work Queue Scheduler” on page 89
See also
See also
Column Description
Work Queue Name of the work queue.
Available Number of work items available for processing.
Checked Out Number of work items checked out by workers.
Failed Number of work items that failed during processing.
Executors Running Number of workers processing the work queue.
See also
• See “Worker Task Management” on page 94 for a discussion of the executor function.
• See “The Work Queue History Report” on page 328 for more information on the work queue history report.
Column Description
Process ID ID for the writer process.
Item Creation Time Time at which the writer woke and began writing work items. The first item in the table for a queue has a
creation time that matches the queue’s current Last Execution Time for the Writer value.
Server Name of the server running the work queue.
Scheduled Yes indicates that the start request was the result of the regular execution of a schedule. No indicates that a
user made the request manually.
Number of Items Total work items in the queue regardless of status.
Worker End Time Time at which the last worker completed the last item in the work queue.
Execution Time Time, in minutes, since the start of the process (the execution time so far).
Available Total number of available items in the queue.
Checked Out Number of items checked out by workers for processing.
Succeeded Number of items that completed successfully.
Failed Number of items that failed.
Column Description
Hostname Server on which the executor is running.
Max. Number of Workers Maximum number of workers available to the executor.
Column Description
Failed items Number of work items that failed processing.
Status Status of the executor, for example, running.
Started Timestamp of the start of the executor.
Up For Length of time since the start of the executor.
Under the By Executors tab is a By tasks tab. The By tasks columns have the following meanings:
Column Description
ID The unique identifier of the task.
Writer The identifier of the writer process.
Success Whether the worker succeeded in the processing of the work items.
Checked out items The number of work items the worker checked out.
Processed items The number of work items the worker processed.
Exceptions The number of exceptions, if any, encountered during item processing.
Orphans Reclaimed The number of orphaned work items the worker adopted for processing.
Column Description
ID Unique identifier of the work item.
Create time Timestamp of the work item creation time.
Available at Timestamp of when the work item is available processing. This value is null for failed work items.
PolicyCenter shows data on this screen during the active execution of database checks only.
See also
• “Work Queue Reports” on page 327
• “Download a Work Queue Report” on page 327
See also
• “Work Queue Reports” on page 327
• “The Work Queue Report” on page 327
See also
• “Work Queue Reports” on page 327
• “The Work Queue Raw Data Report” on page 328
See also
• “Work Queue Reports” on page 327
See also
• “Work Queue Reports” on page 327
• “Download the Work Queue History Report” on page 328
• “Work Queue Instrumentation Purge Batch Process” on page 126
3. Click Download History in the Actions column of the row for that particular work queue.
4. Select the date range for the records that you want to download.
5. Click Complete Download.
6. Select the location for the local file download and click OK.
7. Unzip the download file and open the work queue history report.
See also
• “Work Queue Reports” on page 327
• “The Work Queue History Report” on page 328
Type Description
Guidewire de‐ Guidewire provides a number of default PolicyCenter logging categories. You can also see the list of
fault Guidewire logging categories by running the system_tools command from a command prompt and adding
the -loggercats option.
Guidewire inter‐ Guidewire provides a number of logging categories that apply to Guidewire internal classes. These logging
nal classes categories start with com.guidewire.*. These logging categories generally look like a fully qualified class
path.
Third‐party soft‐ Guidewire applications integrate with certain types of third‐party software. The manufactures of this soft‐
ware ware provide their own logging categories. These logging categories start with org.*, for example,
org.apache.* or org.eclipse.*. These logging categories generally look like a fully qualified class path.
The PolicyCenter administration command prompt tools all require that you enter the password of an administrative
user for the tool to work. The use of a user name is optional.
To use this command, you must supply the name of a specific logger category (logger) and the new logging level
(level) for that logger. Use the system_tools -loggercats command option to see a list of valid PolicyCenter
logger categories.
You must refresh the Server Tools Set Log Level screen after using the system_tools command to see your changes
reflected in that screen.
See also
• “Application Logging” on page 25
• “The Logging Properties File” on page 25
• “System Tools Command” on page 393
View Logs
The Server Tools View Logs screen contains the following items:
Field Purpose
Log File Use to select the log file to view.
Filter Use to display the log file lines that contain the specified word or words.
Max Lines to Display Use to set the maximum number of lines to show on the screen.
See also
• “Application Logging” on page 25
• “The Log Files Directory and the View Logs Screen” on page 26
Info Pages
The Server Tools Info Pages provide information to help manage a PolicyCenter server and database. Guidewire
intends these screens for use by Guidewire Support, Integration Engineers, Database Administrators, and System
Administrators to diagnose existing and potential database-related performance problems. You can also use these
screens to review the results of a load operation.
Configuration
The Server Tools Configuration screen lists the values of the configuration parameters in your PolicyCenter
environment. This screen also includes a Download button. Click Download to download a copy of the following
configuration files:
• config.xml
• messaging-config.xml
• scheduler-config.xml
• work-queue.xml
You can find these files in the config folder within the downloaded ZIP file. The ZIP file also includes a current
directory, which includes the in-memory state of config.xml and work-queue.xml parameters on the server.
330 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
Guidewire makes the in-memory state available because it is possible to change certain configuration parameters
using a web service or JMX APIs after server startup.
Archive Info
Use the Server Tools Archive Info screen to view information about any archiving processing taken by PolicyCenter.
Note: the value of configuration parameter ArchiveEnabled must be true before you can view the
Archive Info screen.
On the Archive Info screen, you can take the following actions.
Refresh Click to update the information on the Archive Info screen. Clicking the Refresh button also refreshes the
IArchiveSource plugin.
Download Click to download archive information to an HTML report. This report is a summary of the information
shown on the Archive Info screen.
View Progress Click to open the Work Queue Info screen. From this screen you can view the progress of the Archive work
queue. You can also start an unscheduled run of the archive work queue from the Work Queue Info screen. For
more information, see “Work Queue Info” on page 324.
Export Upgrade In- Click to download and save a .dat file that contains information on the database version for a specific ar‐
fo chive operation.
Import Upgrade In- Click to upload a .dat file that you previously exported. You must browse for a file (click Browse) to upload
fo before the Import Upgrade Info button becomes active.
Browse... Click to open a standard file picker dialog.
Click a specific version to view additional archive information for that data model version. See “The Archive Sum‐
mary by Data Model Version Table” on page 332 for more information.
See also
• “Configuring Archive Logging Operations” on page 37
• Application Guide
Reset counts Click Reset to set the value of Excluded or Failed items back to zero.
Filter the information by Set a value for Begin Time and End Time, then click View.
time period
Review archived items Select the Archived tab to view a list of items archived with this data model version and for the
specified time period.
Review skipped, excluded, Select the appropriate tab to view the reason that archiving process skipped or excluded an item
and failed items from archiving, or the reason the items failed the archiving process. For each reason, you can click
Reset All Items to reset the count to zero.
IMPORTANT Guidewire strongly recommends that you review the Warnings tab for possible issues
every time you change the data model.
See also
• Configuration Guide
332 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
Consistency Checks
Use the Server Tools Consistency Checks screen to view and run consistency checks on the PolicyCenter database.
The screen consists of two tabs:
• Run consistency checks
• View consistency checks definitions
The Server Tools Consistency Checks screen executes the Database Consistency Check batch process. See “Database
Consistency Check Work Queue” on page 105 for more information.
Note: If the server running a database consistency check fails for some reason, PolicyCenter provides
for a graceful recovery. After the server becomes operational again, PolicyCenter starts the check at
the place it last left off and completes the check.
Item Action
Download all se- Click to download the consistency check results for all selected consistency check runs in the results table. See
lected “Run a Consistency Check from PolicyCenter” on page 335 for information on how to run a consistency check.
Delete Click to delete the results of prior consistency check runs for those rows with a check mark in the results ta‐
ble.
Refresh Click to update the information on the screen while processing is active.
Run Consistency Click to submit a batch processing job to perform one or more database consistency checks. This action exe‐
Checks cutes the Database Consistency Check batch process. See “Database Consistency Check Work Queue” on page
105 for more information.
This button is not available if the Database Consistency Check work queue is not active,
See also
• “Run a Consistency Check from PolicyCenter” on page 335
• “Run a Consistency Check Using System Tools” on page 336
Pause/Resume Click to pause a currently executing batch processing job. During a pause in processing, PolicyCenter changes
Consistency the button label to Resume. Clicking the button resumes processing execution. If this button is not visible, click
Checks the Refresh button.
Cancel Consis- Click to cancel all currently executing batch processes. PolicyCenter displays this button only if there is a cur‐
tency Checks rently executing consistency check.
All tables Click to select All tables (default) to run consistency check against all database tables.
Specify tables If you select Specify tables, PolicyCenter opens a table picker from which you can select the database tables
Specify table against which the consistency checks run. You must select at least one table.
groups If you select Specify table groups, PolicyCenter opens a table groups picker from which you can select the table
groups against which the consistency checks run. You must select at least table group.
Change Click to change the number of workers used to execute the consistency check. Enter a positive integer value. If
you change the number of workers in an active work queue, PolicyCenter stops the existing work queue and
restarts it with the new number of workers.
This button is not available if the Database Consistency Check work queue is not active,
Check all types? Click to select Specify Types to see the list of available check types from which you can make a selection of
Column Description
Download Click the Download icon to download a ConsistencyCheckRundate.zip file that contains the set of database re‐
ports generated by this consistency check run.
Download Er- Click the Download Errors icon to download a ConsistencyCheckRunErrorsOnlyRunDate.zip file that contains
rors the consistency check log file and stack trace. PolicyCenter displays this column only if there are SQL errors in the
database consistency check.
See “Correct a Consistency Check SQL Failure” on page 336 for more information.
View Click the View icon to open a pop‐up from which you can view the same reports contained in the
ConsistencyCheckRundate.zip file, after you supply your user credentials. PolicyCenter displays this column in
test and development mode only. The column is not visible in production mode.
Delete Click the Delete icon to remove a consistency check row from the table.
Rerun Rerun a consistency check that has a SQL error. PolicyCenter displays this button only if there are SQL errors in
the database consistency check. See “Correct a Consistency Check SQL Failure” on page 336 for more informa‐
tion.
Description List of tables against which the consistency checks ran.
With Errors Number of errors encountered by the consistency checks run.
Total Checks Total number of consistency checks that ran.
Not started Number of consistency checks that have not yet started in the current consistency checks run. Click the Refresh
button to update this data during a currently executing check run.
In progress Number of actively executing consistency checks at any given moment.
Finished Number of consistency checks that completed in this run.
Start time Time at which this set of consistency checks started.
End time Time at which this set of consistency checks ended.
Duration Length of time that this set of consistency checks took to run.
Version Database version, listing (in order):
• Application major version
• Application minor version
• Platform major version
• Platform minor version
• Data model version
See “Understanding Guidewire Software Versioning” on page 365.
ID Identifier (ID) of the stored results of this consistency check run.
If the consistency checks results table lists multiple check runs, use the check box next to a table row to select a
consistency check run for further action.
See also
• “The View Consistency Checks Definitions Tab” on page 335
• “Run a Consistency Check from PolicyCenter” on page 335
• “Run a Consistency Check Using System Tools” on page 336
• “Correct a Consistency Check SQL Failure” on page 336
Action Description
Download Click Download to download a ZIP file that contains a set of linked HTML files that describe the consistency
consistency checks that Guidewire provides in the PolicyCenter base configuration.
check infor‐
mation
Search by ta‐ Search by table name to find the consistency checks related to a specified table. Most consistency checks op‐
ble name erate on the specified table, but some checks, such as typelist table checks, operate on other tables as well.
To search, enter a complete or partial table name in the Table name fragment field and click Search. The results of
the search show in a table that lists the table name, the consistency check name, and a description of the
consistency check.
To clear the results of the search, click Reset.
Filter by check Filter the list of consistency check types to see a list of all tables for which that consistency check is available.
type
View SQL Review the SQL query used to generate a given database consistency check. First, select a consistency check,
query then:
• Select the Command tab at the bottom of the screen to view the SQL command of the consistency check.
The SQL command retrieves a count of rows that violate the consistency check.
• Select the Query to identify rows tab at the bottom of the screen (if available) to view the SQL query used to
identify rows that violate the consistency check. SQL queries to identify rows that violate consistency
checks are not available for all check types.
See also
• “The Run Consistency Checks Tab” on page 333
• “Run a Consistency Check from PolicyCenter” on page 335
• “Run a Consistency Check Using System Tools” on page 336
• “Correct a Consistency Check SQL Failure” on page 336
Download arrow Downloads a Zip file that contains the full set of consistency check reports.
Download Errors arrow Downloads a Zip file that contains only the consistency checks that contain SQL errors.
View icon Opens a pop‐up window from which you can view the full set of consistency check reports.
6. If you downloaded the consistency check file to your local system, unzip the file into its own directory.
Server Tools 335
Guidewire PolicyCenter 9.0.6 System Administration Guide
See also
• “The Run Consistency Checks Tab” on page 333
• “The View Consistency Checks Definitions Tab” on page 335
• “Run a Consistency Check Using System Tools” on page 336
• Installation Guide
admin/bin
You must supply a value for password. You can optionally supply additional parameters for the -
checkdbconsistency option.
See also
• “System Tools Command” on page 393
• “The Run Consistency Checks Tab” on page 333
• “The View Consistency Checks Definitions Tab” on page 335
• “Run a Consistency Check from PolicyCenter” on page 335
Procedure
1. In the PolicyCenter Server Tools Consistency Checks screen, click Download Errors next to the check that
generated the error.
2. Open the error report:
a. Click the number in the With Errors column.
b. On the details report that opens, click Details.
c. Review the SQL query that generated the error.
d. Correct any identified errors.
The listed table name indicates the object against which the consistency check ran. The check name
indicates which consistency check actually generated the error.
336 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
3. In the PolicyCenter Server Tools Consistency Checks screen, click Rerun next to the consistency check that
generated the SQL error.
See also
• “The Run Consistency Checks Tab” on page 333
• “The View Consistency Checks Definitions Tab” on page 335
• “Run a Consistency Check from PolicyCenter” on page 335
• “Run a Consistency Check Using System Tools” on page 336
Upgrade
Guidewire recommends that you run all consistency checks before and after a database upgrade. Running these
checks before and after a database upgrade helps to verify the validity of the data and identify potential issues.
See also
• “Run a Consistency Check from PolicyCenter” on page 335
• “Run a Consistency Check Using System Tools” on page 336
Verify Click to have PolicyCenter compare the database schema with the schema defined in the data
model metadata files. PolicyCenter shows any errors that it finds on the screen.
Download Database Schema Click to download the results of the database schema verification. If there were no errors, the re‐
Verification Errors port is empty.
Download Database Table Info Click to download a ZIP file containing a number reports that document each table in the
PolicyCenter data model.
See also
• “Database Table Info Reports” on page 337
• “Understanding the Database Table Info Reports” on page 338
• “View the Database Table Info Reports” on page 338
Screen Description
All Tables Provides information about all PolicyCenter tables.
Guidewire Version Lists schema version and build information for PolicyCenter.
Indexes by Table Lists the indexes on a table and provides information about the associated key col‐
umns.
Spatial Indexes Provides information about the spatial indexes.
Screen Description
Primary Key Constraints by Table Lists the primary key constraints on tables and provides information about the fields
that reference the keys.
Foreign Key Constraints by Table Lists the foreign key constraints on tables and provides information about the tables
referenced by the keys.
Typekey Columns by Typelist Lists the referencing typekey columns for each typelist.
Number of columns and min/max row lengths Displays the number of columns and categories of columns and the minimum and
maximum row length in each table. Overly large row lengths in a database can lead to
inefficiencies in data queries.
Possibly Redundant Backing FK Indexes Lists foreign key indexes that may be redundant, including information about whether
the index is unique and if it is an extension.
Indexes with Shared Prefixes Lists indexes that share multiple leading key columns. It is possible to use this infor‐
mation to find redundant indexes.
Indexes with the Same Key Columns Lists indexes that have the same key columns.
Indexes without a Description Lists indexes that do not have a description.
Indexed Views Lists any indexed views and the view definitions.
Event Paths from Tables to Listening Objects Shows paths from event‐generating entities to non‐event‐generating entities. Each
row in the table contains a non‐event‐generating entity E, along with one of the paths
from an event‐generating entity to E. PolicyCenter uses each path to generate a query
to find the event‐generating entity instances that reference an instance of the non‐
event‐generating entity.
Event Paths to Listening Tables Shows the same paths as those in the Event Paths from Tables to Listening Objects report,
but the entities in the second column are the event‐generating entities. Each entry in
the table contains an event‐generating entity E, along with a path from E to a non‐
event‐generating entity.
Instrumentation Queries Lists the queries that PolicyCenter executes against the database while building the
data the comprises the download reports.
PolicyCenter copies table-specific information from each report category to the individual report for the respective
table, excepting the All Tables and Instrumentation Queries reports.
Configuration Files
The download ZIP file contains several directories of configuration files:
• The config directory contains a number of PolicyCenter configuration files as defined at server startup.
• The current directory contains the in-memory state of the batch-process-config.xml, config.xml, and
work-queue.xml parameters on the server. Guidewire makes the in-memory state available because it is possible
to change certain configuration parameters using a web service or JMX APIs after server startup.
2. Navigate to the Server Tools Info Pages Database Table Info screen.
3. Click Download Database Table Info.
4. Save the download ZIP file.
5. Unzip the ZIP to a local directory.
6. Find and double-click file index.html to view a table of contents for the downloaded reports in a browser
window.
7. Do one of the following:
• Click a report type to open that report.
• Click config_files on the table of contents page to access copies of certain metadata configuration files.
Database Parameters
The Server Tools Database Parameters screen displays information about the database configuration. You can view the
information on-screen, or you can download a set of linked HTML reports that contain the same information.
To download and access the HTML reports, click Download Database Parameters Info, unzip the resulting file, and click
index.html.
To view the information on-screen, select a view type from the View drop-down list. Depending on the database type,
the View list contains the following items.
View Lists
Database and Driver Versions of the database and its associated driver.
Database Connection Pool Settings Connection pool settings as configured in database-config.xml if using
PolicyCenter to manage the connection pool. See “The dbcp‐connection‐pool
Database Configuration Element” on page 210 for more information on these
parameters.
If you use the application server to manage the connection pool, then this
screen does not show connection pool parameters. Instead, tune the connec‐
tion pool by using the Administrative Console of the application server.
Database Connection Properties Properties related to the database connection.
Guidewire Database Config Guidewire‐specific database configuration parameters. The table lists the
<database> element attributes specified in file database-config.xml or lists
the default value if file database-config.xml does not specify a value.
Guidewire Database Config Statistics Settings Guidewire‐specific database configuration parameters related to statistics gath‐
ering.
Guidewire Database Upgrade Configuration Guidewire‐specific database configuration parameters related to upgrade as de‐
fined by the <upgrade> element in file database-config.xml.
Guidewire Version Information about this specific version of PolicyCenter.
Linguistic Search Options Options defined for linguistic searching in PolicyCenter. See the Globalization
Guide for more information.
Linguistic Search Oracle Functions and Java Source Oracle functions, and Java source, for linguistic searching.
View Lists
Oracle Registry Oracle registry values.
Oracle Session Init Params Initial parameters of the Oracle session for the current connection with
PolicyCenter.
Oracle SGA Summary Info Information about the Oracle System Global Area (SGA) shared memory.
Oracle State of Current Instance Information on the current Oracle instance connected to PolicyCenter.
Oracle System Statistics Information on Oracle database statistics.
Queries Executed to Build Download SQL queries used to generate the information in the HTML download reports.
SQL Server Database Options Options set on the SQL Server database, such as auto create statistics and
auto update statistics, the recovery model, collation, and so forth.
SQL Server Server Global Server Settings Global server settings for the SQL Server instance.
SQL Server Server Instance Attributes and Values Attributes and values for the SQL Server instance connected to PolicyCenter.
SQL Server Session Properties Properties of the SQL Server session for the current connection with
PolicyCenter.
Summary of Queries Executed to Build Download Number of queries used, and the execution time, to generate the information
in the HTML download reports.
Database Storage
The Server Tools Database Storage Information screen provides information about the space and memory taken up by
the database on the PolicyCenter server. You can both view and download database storage information from this
screen.
The following tables lists the filtering options for the database storage information:
After setting the desired filtering options, chose one of the following:
• To see the database storage information on the current PolicyCenter screen, click Display Database Storage Info.
• To download the database storage information to view later, click Download Database Storage Info.
After you click Display Database Storage Info, the screen shows information at the bottom of the screen, along with a
drop-down that you can use to filter the information.
340 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
Oracle User LOBs Space allocation information similar to that shown for Oracle LOBs Alloc Space, sorted by table name.
Queries Executed to List of SQL queries used to generate the data. The data includes the SQL used to generate the query and
Build Download other information such as the number of rows returned the time it took for the query to run.
Summary of Queries Simple summary of the number of queries involved in generating the data and the total database time
Executed to Build that the queries took to execute.
Download
Table Alloc Space + Size in megabytes for each table in the database.
Estimated Advanced The information that you see depends on the filter options that you set:
Compression Settings • If you select the Include Estimation of Compression Savings for Tables and Indexes option, PolicyCenter
modifies the storage set name to indicate that fact and provides the requested information.
• If you do not select the Include Estimation of Compression Savings for Tables and Indexes option, you see only
Table Alloc Space as the storage set name. PolicyCenter does not show compression estimation savings
information.
Tablespace Space Size of each tablespace in megabytes, along with information on how much of the space is in use or is
free space.
Tablespaces List of each tablespace in the database along with related information.
User Indexes Information on each user index in the database, selectable by index name.
User Tables Information on each user table in the database, selectable by table name.
Data Distribution
Use the Server Tools Data Distribution screen to a run batch processing job that generates data on the distribution of
various items in the database. You can then view this information on-screen or download a set of reports that details
this information.
There are multiple categories of data distribution reports.
Compari- The report shows data for the various items selected for inclusion in any of the comparison reports. It also shows
son re- the individual row count for the data, as of that date. The intent of this report is to provide a way to visualize data
ports growth. The download ZIP file contains an HTML report plus separate CSV reports. The HTML report contains dis‐
tinct columns representing the data from each report used for comparison.
Combined The report combines information from multiple runs. The intent of the report is to provide a way to create smaller
reports reports that require less generation time and then combine the information into one report. The download ZIP file
contains an HTML report that contains information on each of the previous reports combined into this report plus
tables that contain the combined data.
It is also possible to start the data distribution batch process (DataDistribution) directly from the command
prompt by using a maintenance_tools command option.
• “Generate and View a Data Distribution Report” on page 342
• “Download Comparison and Combined Data Distribution Reports” on page 343
• “Maintenance Tools Command” on page 390
Download arrow Downloads an DataDistribution.zip file that contains the set of database reports.
View icon Open a pop‐up window from which you can view the same reports contained in the
DataDistribution.zip file, after you supply your user credentials.
5. If downloaded the report to your local system, unzip the download Zip file into its own directory.
6. Locate the index.html file and double-click it to open it in a browser.
7. Use the links on the screen to navigate through the distribution reports.
See also
To create either a comparison or a combined data distribution report, two or more data distribution reports and their
output must exist in the database.
Procedure
Database Statistics
The Server Tools Database Catalog Statistics Information screen provides reports about out-of-date statistics in the
database indexes, histograms, staging tables, and PolicyCenter application tables. This screen is not available with
the development-only QuickStart database.
The Database Statistics screen contains the following tabs.
Tab Description
Database Statistics Use to generate and download database statistics reports for the entire database or for specific tables.
Information See “Generate and Download a Database Statistics Report” on page 344.
Execution History Use to view information about individual database statistics reports and take action with respect to each
report. See “Working with Database Statistics Reports” on page 344.
Oracle Statistics Use to work with Oracle database preferences for database table statistics. This tab is only available after
Preferences you set the useoraclestatspreferences attribute to true and perform an application upgrade.
See “Using Oracle AutoTask for Statistics Generation” on page 262 for more information.
Development Mode
In development mode, it is possible to run Database Statistics batch processing in any of the following ways:
• From a command prompt, using the -updatestatistics option of the system_tools command
• From the Execution History tab of the Server Tools Database Statistics screen
• As a scheduled batch process
Production Mode
In production mode, it is possible to run Database Statistics batch processing in the following ways only:
• From a command prompt, using the -updatestatistics option of the system_tools command.
• As a scheduled batch process
Oracle AutoTask
For Oracle databases, it is possible to use the Oracle Autotask infrastructure to manage the collection of database
table statistics. To use Oracle AutoTask, do the following:
• Disable any scheduled runs of DBStats batch processing.
• Set attribute useoraclestatspreferences attribute on the <databasestatistics> element in file database-
config.xml to true.
You must use either Oracle AutoTask or DBStats batch processing to manage the collection of database statistics.
Do not attempt to use both methods simultaneously.
See also
• “Understanding Database Statistics” on page 255
• “Managing Database Statistics using System Tools” on page 257
• “Using Oracle AutoTask for Statistics Generation” on page 262
• “Generate and Download a Database Statistics Report” on page 344
• “Working with Database Statistics Reports” on page 344
• “System Tools Command” on page 393
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the Server Tools Info Pages→Database Catalog Statistics Information screen.
344 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
3. Select one of the following values for the View database catalogs statistics on all tables option:
Yes View statistics data for all database tables. This selection can take a few seconds to complete, depending on the
size of your database.
No View statistics data for the selected tables only. If you select this option and do not select any tables, PolicyCenter
shows statistics data from the database metadata only.
4. Click Download.
5. Save the report ZIP file to a local directory.
6. Unzip the file.
7. Double-click file index.html to open the HTML report summary.
8. Use the report links to navigate through the various database statistics reports.
See also
• “Generate and Download a Database Statistics Report” on page 344
• “Working with Database Statistics Reports” on page 344
Action Description
Refresh Update the contents of the summary table.
Run Incremental Statis- Generate incremental database statistics. This action updates database statistics for tables exceeding
tics the change threshold only. This functionality is available in development mode only.
Run Full Statistics Generate full database statistics. This functionality is available in development mode only.
Download Click the download arrow to download the data from this report.
Delete Click the trash can icon to delete this data row from the summary table.
It is also possible to set table statistics preferences directly in the Oracle database by executing the following
command:
DBMS_STATS.SET_TABLE_PREFS
If you set table statistics preferences directly, the actual table statistic preferences no longer match the configured
table statistics preferences. During a database upgrade, BillingCenter ignores any actual table statistics preferences
and sets table statistics preferences to those defined in the new database-config.xml file. The information
provided on the Oracle Statistics Preferences tab provides a mechanism to capture direct changes made to the table
statistics preferences that are lost during a database upgrade
Button Actions
The following list describes the actions of the individual button in the Oracle Statistics Preferences tab.
Button Action
Refresh Refreshes the table information on the screen.
Download Downloads the database-config table statistics options as a JSON file.
Reapply Config Reapplies the table statistics options configured in file database-config.xml to the database,
discarding any preferences set outside the application. As you initiate this process,
BillingCenter inserts an entry into the application log and then inserts another entry at the
end of the process.
Generate Config to Match Actual Generates an XML file that details the table statistics preferences actually in use in the
database.
Dev Mode only (Drop‐down) Selects that environment in which to generate the table statistics.
You can also filter the list of tables using the drop-down at the right of the tab.
Oracle Statspack
The Server Tools Oracle Statspack screen provides a means to download HTML reports based on any two Oracle
database statspack snapshots from the same instance start-up time. You create statspack snapshots by using a tool
such as SQL*Plus or SQL Developer. Also, Oracle provides a script called spauto.sql that you can modify and run
to automate statspack snapshot gathering.
The Server Tools Oracle Statspack screen is available only if the database server is Oracle. For PolicyCenter to display
statspack information, you must also:
• Install the statspack package in your Oracle database (spcreate.sql).
• Grant SELECT privileges on all the PERFTEST tables to the PolicyCenter database user.
If you do not install the statspack or fail to grant the correct permission, PolicyCenter displays an error message on
the screen. You cannot select any snapshots on the screen either. Refer to the Oracle documentation for statspack
installation instructions.
Guidewire Recommendations
Guidewire recommends the following with regards to Oracle statspack snapshots:
• Collect statspack snapshots at regular intervals if you do not have a license for Oracle AWR.
• Collect the snapshots at level 7 or higher to collect execution plan and segment statistics.
• Regularly purge statspack snapshots older than a certain period.
Guidewire recommends that you use the Guidewire AWR tool, rather than Oracle Statspack, if you have a license
for the following:
• Oracle Diagnostics package
• Tuning package
346 chapter 23: Server Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
If you do not have these licenses, Guidewire recommends that you acquire the two licenses.
See also
• “Oracle AWR” on page 347
Oracle AWR
The Server Tools Oracle AWR Information screen is available only if the database server is Oracle. Use the Oracle AWR
Information screen to generate a set of Guidewire performance reports using AWR snapshots that you define in the
database. The Guidewire AWR reports provide a view of the database activity that contains more detailed
information than the Oracle Standard AWR report available with the Oracle database.
The Guidewire AWR reports provide the following additional information:
• Messaging analysis
• Concurrent batch processes
• Distributed worker activity
• Database statistics
The Guidewire AWR reports require that you have a license for the following:
• Oracle Diagnostics package
• Tuning package, if you select either Probe in Memory SQL Monitoring or Probe on Disk SQL Monitoring
Refer to the Oracle documentation for details.
See also
• “Oracle Statspack” on page 346
• “Download an Oracle AWR Unused Indexes Report” on page 349
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the Server Tools Info Pages→Oracle AWR Information screen.
3. Set the options for the report.
See “Automatic Generation of Oracle Standard AWR Reports” on page 348 for a discussion of the Include
native Oracle report option.
4. Select two database snapshots from the list at the bottom of the screen.
Each snapshot must share the same Oracle instance startup time.
5. Click Generate Perf Report.
6. After PolicyCenter completes generating the report, select one of the following:
Download arrow Downloads an AWRReport.zip file that contains the set of database reports.
View icon Open a pop‐up window from which you can view the same reports contained in the AWRReport.zip
file, after you supply your user credentials.
Procedure
1. Open a command prompt.
2. Navigate to the following location in the PolicyCenter installation:
admin/bin
You must enter a value for password. You must limit the list of snapshots by entering a value for numSnaps.
4. Enter the following command to generate the Guidewire AWR report:
The PolicyCenter administration command prompt tools all require that you enter the password of an
administrative user for the tool to work. The use of a user name is optional.
You must enter the IDs of two database snapshots.
Result
The system_tools -oraPerfReport command option reports the process ID of the process generating the
performance report. You can check on the status of this process using the -processstatus option of the
maintenance_tools command.
See also
• “System Tools Command” on page 393
Procedure
1. Log into Guidewire PolicyCenter using an administrative account.
2. Navigate to the Server Tools Info Pages→Oracle AWR Information screen.
3. Generate and download an AWRReport.zip file as described in “Generate Guidewire AWR Reports” on page
347.
4. Extract the contents of the AWRReport.zip file to a local directory.
5. Navigate to the following directory:
AWRInfo→sqlscripts
6. Execute the following script against the database server:
oraclescripts.sql
To generate a report with this option, the Oracle database user must have EXECUTE privilege for database package
DBMS_WORKLOAD_REPOSITORY. If the database user does not have the required privilege, PolicyCenter does not
generate a report and prints a message to the application log.
If the required privilege does not exist for the database user, do one of the following:
• Request that the database administrator grant the required privilege and rerun the report from Oracle AWR screen.
• Manually execute script oraclescripts.sql from the database server.
See also
• “Generate Oracle Standard AWR Reports Using a SQL Script” on page 348
See also
• “Oracle AWR” on page 347
Procedure
1. Log into Guidewire PolicyCenter using an administrative command.
2. Navigate to the Server Tools Info Pages→Oracle AWR Unused Indexes Information screen.
3. Set the options for the report.
4. Select two database snapshots from the list at the bottom of the screen.
Guidewire recommends that you select snapshots that have a wide range.
5. Click Download.
6. In the download dialog, set the download location.
7. Click OK to download and save the report.
8. Open the downloaded ZIP file and click index.html to open the index to the linked set of report files.
Oracle Outlines
The Server Tools Oracle Outlines screen is only available if the database server is Oracle. The screen contains
information on any Oracle outlines defined in the PolicyCenter Oracle database. Oracle defines an outline as a
collection of hints associated with a specific SQL statement, used to provide SQL execution plan stability. Consult
the Oracle documentation on how to write and use Oracle Outlines.
The Oracle Outlines summary table contains the following information:
Name Name of the Oracle outline. Click to open the Outline Details screen. This screen contains the SQL hints used to
define the outline.
Category Optional name used to group stored outlines.
Used Whether the Oracle database has ever used this particular outline.
Time Stamp Date and time of the last use of this outline.
Note: Oracle AWR contains a column that indicates if PolicyCenter used an Oracle Outline for a
given SQL statement.
See also
• “Oracle AWR” on page 347
• “View an Oracle Outlines Report” on page 350
Procedure
1. Log into Guidewire PolicyCenter using an administrative command.
2. Navigate to the Server Tools Info Pages→Oracle Outlines screen.
3. Click Download.
4. In the download dialog, set the download location.
5. Click OK to download and save the report.
6. Open the downloaded ZIP file and click Outlines.html to open the report.
See also
• “Oracle Outlines” on page 349
See also
• “System Tools Command” on page 393
Download arrow Downloads an DMVReport.zip file that contains the set of database reports.
View icon Open a pop‐up window from which you can view the same reports contained in the DMVReport.zip
file.
6. After you download the DMVReport.zip file, unzip the file into its own directory.
7. Locate file index.html and double-click it to open it in a browser.
8. Use the links on the screen to navigate through the distribution reports.
See also
• Installation Guide
Load History
The Server Tools Load History Information screen displays information about specific PolicyCenter database
operations. For example, loading data into the staging tables impacts the loader history information on this screen.
On this screen:
• Click Refresh to reload and update the table data.
• Click Edit to make the Description field for each load history writable.
The load history summary table contains the following information:
Download Click the Download arrow to download a LoadHistoryInfo.zip file that contains a set of HTML reports. The re‐
ports consist of a summary table and a set of links to individual reports that load different views of the database
operation data onto the screen. These are the same reports that are available by clicking the View icon.
View Click the View icon to view the on‐screen Load History Detail report for the selected database operation. The detail
view consists of a summary table and a set of tabs that load different views of the database operation data onto
the screen. These are the same reports that are available for download by clicking the Download icon.
Delete Click the trash can icon to remove the data for this database operation.
Load Opera- Type of database operation. This can be, for example, any of the following:
tion Type • Database table load operations
• Staging table clearing operations
• Database statistics generation operations
Start Time Start date and time of the database operation.
End time Completion date and time of the database operation.
Duration Length of time, in seconds, to complete the operation.
Error Count Number of reported errors for this database operation..
Calling User Name of user who initiated this database operation.
Description Click Edit to make the Description field for each database operation row writable. Click Update after entering text to
save your work and update the field.
See also
• “View a Load History Report” on page 352
• “The Load History Detail Report” on page 352
Download arrow Downloads a LoadHistoryInfo.zip file that contains the set of database reports.
View icon Opens a new screen that displays the Load History Detail report. See “The Load History Detail Report” on
page 352 for details.
4. If you downloaded the report file, unzip the file into its own directory.
5. Locate the index.html file and double-click it to open it in a browser.
6. Use the links on the screen to navigate through the linked reports.
Parameters Lists the values of the configuration parameters used in generating the data for the database operations reports.
See “Load History Detail Report ‐ Parameters tab” on page 353 for more information.
Steps Lists the individual steps in the data load operation. Click a step to view detail data about that step. See “Load
History Detail Report ‐ Steps tab” on page 353 for more information.
Row Counts Lists information about database tables impacted by the data load. Use the information on this screen to quickly
assess whether the amount of data loaded by operation was the amount that you expected the operation to
load.
Integrity Lists the integrity checks that PolicyCenter ran against each affected database table before the data load opera‐
Checks tion.
Inserts Lists the results of the SQL INSERT_INTO queries that PolicyCenter ran against the affected database tables. This
tab lists all INSERT_INTO run for this database load. In contrast, the Steps tab lists only the INSERT_INTO queries
that run for each particular step.
Callbacks Lists the operations that PolicyCenter executes before and after a staging table load operation. This tab lists all
callback operations for this database load. In contrast, the Steps tab lists only the callback operations that exe‐
cute for each particular step.
Statistics Lists the SQL commands used to generate database statistics.
Commands
View by Staging Ta- This tab lists the set of integrity checks that PolicyCenter executes against a specific staging table. Use the
ble Staging Table drop‐down to select the table of interest.
View by Load Error This tab lists the set of tables against which PolicyCenter runs a particular integrity check. Use the Load
type Error Type drop‐down to select a specific integrity check.
In both tabs, you are able to set the value of Allow Non Admin References to true. If you do, PolicyCenter checks
foreign key references to administrative tables on load, such as users and groups. In the base configuration,
Guidewire disables these references by default.
See also
• Integration Guide
Load Errors
The Server Tools Load Errors screen displays errors generated by failed integrity checks. You can use this screen to
drill down through a table name to the specific error generated by a load operation. Errors relate to a particular
staging table row. For each error, the Load Errors screen shows:
• The table
• The row number
• The logical unit of work ID (LUWID)
• The error message
• The data integrity check query that failed.
In some cases, PolicyCenter cannot identify or store a single LUWID for the error.
Column Description
Entity Entity name
Order Entity ranking order
Table Entity database table name
Preupdate Whether the entity triggers a Preupdate rule set
To see only those objects affected by Preupdate rules, select With rules only from the drop-down filter.
Note: PolicyCenter does not use Preupdate rules.
Preupdate Rules
In running the rules in the Preupdate rule set, PolicyCenter first computes the set of objects on which to run the
Preupdate rules. PolicyCenter then runs the Preupdate rules for this set of objects as determined by the order listed in
the table Order column.
Serialization Info
The Server Tools Serialization Info screen (under Info Pages) shows, for any specific server in the cluster, the entire set
of Java objects (classes) deserialized by that server instance. This screen contains an optional filter (Including listed in
the serialization whitelist classes) that filters the list of classes:
• Checking this box means that the list of class names includes the names of all Java classes encountered and
deserialized by the local server. This list includes the names of classes that exist in the serialization white
(permitted) list as well.
• Un-checking this box means that the list of class names includes only the names of classes encountered and
deserialized that are not on the serialization white list. Guidewire recommends that you add these classes to the
serialization whitelist. After you complete your whitelisting of Java classes, the class listing will be empty.
See also
• Configuration Guide
#Incorrect example
gw.api.*.myClass
• Use blank lines and leading spaces as desired to enhance readability of the file.
Management Beans
Note: The Management Beans screen is accessible to users with the soapadmin permission only.
The Server Tools Management Beans screen lists PolicyCenter management beans, which are PolicyCenter objects that
represent different resources. Click the name of a resource to open the Guidewire Managed Bean Properties screen for
the selected resource.
The Bean Properties screen most often contains a MBean Property table that lists the properties associated with the
selected resource bean. Property values are either read-only or editable. Guidewire marks the editable properties
with a small blue triangle in the upper left-hand corner of the Value field. Click anywhere in an editable field to make
that field editable. After modifying a field, you can either save your work or cancel your changes by clicking Save or
Cancel.
A few Bean Properties screens also contain an Operation table that lists available operations associated with this
resource bean. Click Execute to execute a selected operation. The Result field shows the result of the operation.
Startable Services
The Server Tools Startable Services screen contains summary information on all of the startable plugin services in the
PolicyCenter cluster. A startable plugin is a special type of PolicyCenter plugin. At runtime, PolicyCenter creates a
background process, or service, for each startable plugin. The summary table provides the following information for
each service.
See also
• Integration Guide
See also
Host Name of the machine on which this PolicyCenter server instance is running.
Server ID Name for this server instance. You specify the server ID by either adding an entry for this cluster member in the
<registry> element in config.xml, or, by setting a JVM option at server startup. If you do not specify a server
ID, PolicyCenter uses the host (machine) name as the server ID.
UUID Universally Unique ID for this server machine. PolicyCenter randomly generates a UUID for each machine at each
machine startup.
Server Roles List of server roles assigned to this PolicyCenter server.
See also
• “Understanding the Configuration Registry Element” on page 42
• “Server Roles” on page 139
Banner text Choose the text of the banner message to show on the PolicyCenter screen to warn
users of the server shutdown. The banner message occurs immediately as you
schedule the shutdown and contains a countdown to the time of the scheduled
shutdown. You can choose from several listed messages or create your own custom
message.
Shutdown date and time Set the date and time of the server shutdown.
Action to take with respect to running Decide how to handle any currently running batch processes
batch processes
After you initiate a scheduled shutdown, PolicyCenter does the following on the affected server:
• It does not start any new batch processes.
• It manages the stopping of any currently running batch processes depending on the setting for Terminate Batch
Processes field.
• It requests that all work queues and message destinations stop processing immediately.
• It completes the transmission of any current messages without starting any new message transmissions.
• It completes the processing of any current work items without beginning work on any new work items.
After you click OK in the Schedule Planned Shutdown confirmation dialog, PolicyCenter reopens the Cluster Members
screen. In this screen, you now see the following:
• The Actions entry for the affected server contains a Cancel planned shutdown button.
• The Planned Shutdown entry for the affected server provides information about the planned shutdown.
• The screen contains a banner with the chosen shutdown message and a countdown timer to the server shutdown
date and time.
Server Tools 357
Guidewire PolicyCenter 9.0.6 System Administration Guide
Web.TabBar.SystemAlertBar.PlannedShutdown.RollingUp Rolling upgrade in progress, please save your work and log out
gradeMessage to redirect to a new server.
Web.TabBar.SystemAlertBar.PlannedShutdown.ScaleInMe Please save your work and log out to re‐direct to the new
ssage server.
After you initiate a planned shutdown, PolicyCenter stores only the current time and the shutdown time in the
database. It stores other information, such as the shutdown message itself, in a single-threaded atomic reference in
memory. PolicyCenter clears this message reference under the following conditions:
• At the restart of the shutdown PolicyCenter server
• At the cancellation of the planned server shutdown
In either case, PolicyCenter does not show a Planned Shutdown status of ready on the Cluster Members screen until all
the affected processes have stopped on the server.
Note: Batch processes run as non-daemon threads. As such, it is not possible for the server to perform
a graceful shutdown if any batch processes are still running on the server at the time of the shutdown.
Last Update Date and time of the last update on this server instance.
Planned Shut- Date and time of any planned shutdown of a cluster member.
down
Actions Action button to manage a planned shutdown of a cluster server instance. The button label is either Start Plan-
ned Shutdown or Cancel Planned Shutdown.
You can also initiate a server shutdown using the administrative system_toools command option -
scheduleshutdown. See “System Tools Command” on page 393 for details.
See also
Name Name of component. This name is the work queue name, or, the message destination name, for example.
Started Date and start time for each component.
State State of the component, for example, Assigned.
Retry Date and time of the deadline in which to complete the failover process.
Failover If a lease manager detects the expiration of a component lease owned by another cluster member, the first lease
manager starts a failover process for this lease. This failover process is not instantaneous. It is possible that during
the failover process the cluster member performing the failover itself might fail, or lose database connection, or
encounter other potential problems.
To be able to handle this situation gracefully, the cluster member starting the failover gives itself a deadline to com‐
plete the failover process. If the current failover process does not finish by the specified timestamp, some other
cluster member needs to start the failover process for the same component lease.
See “Automatic Failover of a Component Lease” on page 158 for a description of how PolicyCenter calculates this
timestamp.
You can view similar information to that of the Components table on the Cluster Components screen.
Lease Expira- Date and time at which the component lease expires. See “Cluster Member Shutdown” on page 143 for more
tion information on component leasing.
Stopped Stop date and time of the server instance on which the component is running, due to one of the following rea‐
sons:
• Server instance stopped as intended
• Server instance failed due to lost power or network connection and automatic recovery failed or is still in
progress
Actions PolicyCenter shows a Complete Failover button if a component lease expires and a custom failover plugin imple‐
mentation instructs PolicyCenter not to perform an automatic failover.
See “Cluster Member Shutdown” on page 143 for more information.
Terminate Re- Date and time at which the server instance received a terminate request for this component.
quested
Transfer Re- Date and time at which the server instance received a request to transfer this component to another server in‐
quested stance.
Transfer Tar- Server ID of the server to which the transfer request was made.
get
Retry Failover Date and time of the deadline in which to complete the failover process.
If a lease manager detects the expiration of a component lease owned by another cluster member, the first
lease manager starts a failover process for this lease. This failover process is not instantaneous. It is possible that
during the failover process the cluster member performing the failover itself might fail, or lose database connec‐
tion, or encounter other potential problems.
To be able to handle this situation gracefully, the cluster member starting the failover gives itself a deadline to
complete the failover process. If the current failover process does not finish by the specified timestamp, some
other cluster member needs to start the failover process for the same component lease.
See “Automatic Failover of a Component Lease” on page 158 for a description of how PolicyCenter calculates
this timestamp.
You can view similar information to that of the Components table on the Cluster Members screen, the Components tab.
Action Description
Download cluster server re‐ Click Download to download an HTML report of the cluster components and component history.
port See “Download a Server Component Report” on page 362 for details.
Filter by component type Select a component type from the Types drop‐down list to filter the information by a specific
component type.
Filter by component state Select a component state from the State drop‐down list to filter the information by a specific
component state.
Filter by component Click Filter by Component to open a Select Components screen. In this screen, you can select individ‐
ual components of all available types to show in the component table.
Refresh the component in‐ Click Refresh to update the server component information in the table.
formation
Review component history Click the name of a component to open a component history detail screen.
detail
Procedure
1. Navigate to the Server Tools Cluster Members screen.
2. Find the table row that corresponds to the cluster member for which you want to schedule a shutdown.
3. If necessary, scroll the screen all the way to the right until you see the Actions column.
4. Click Start Planned Shutdown.
5. In the Schedule Planned Shutdown screen, select the message that you want to show to the application user about
the planned shutdown.
Select one of the provided messages, or, enter custom text in the provided field.
6. Select the date and time of the planned shutdown.
7. Decide how you want PolicyCenter to handle the currently running batch processes (including work queue
writers) on the server.
See “About Planned Server Shutdowns” on page 357 for more information on the option.
8. Click Schedule Shutdown.
Result
After you schedule the shutdown, the Cluster Members screen shows the following for your selected cluster member:
• The Planned Shutdown column shows the date and time that you initiated the planned shutdown. It also shows the
date and time of the actual planned shutdown.
• The Actions column shows a Cancel Planned Shutdown button. To cancel a planned server shutdown, click Cancel
Planned Shutdown.
All PolicyCenter screens, for all users logged into the affected cluster member, display a banner indicating the date
and time of the planned shutdown and your selected message.
Note: Some functionality on the Upgrade and Versions screens is visible only if configuration parameter
ClusteringEnabled is set to true in config.xml.
Guidewire divides this screen into the following areas:
• A row of buttons that control upgrade functionality, not all of which are visible at all times.
• A summary table that contains upgrade information for this particular application server.
Version Version information for each application installation. PolicyCenter provides the version information in the fol‐
lowing format:
Guidewire build.customer build (n, n, n, n, n)
These numbers have the following meaning:
• Guidewire build – Guidewire application version, 9.0.0, for example.
• Customer build– Custom label, defined in file customer-version.properties. If not defined, this field is
empty.
• (n, n, n, n, n) – Numbers that have the following meaning:
◦ Platform major version
◦ Platform minor version
◦ Application major version
◦ Application minor version
◦ Data model version
See “Understanding Guidewire Software Versioning” on page 365 for more information.
Status Status of each upgrade, for example, new schema or upgraded.
Type Type of each upgrade, for example, install or full.
Start Time Date and time of the beginning of the upgrade.
End Time Date and time of the completion of the upgrade.
Duration Length of time that the upgrade process took. Time is shown as both the total number of seconds involved and
the time for just the database upgrade portion of the upgrade.
Deferred Up- Execution status of the Deferred Upgrade Tasks batch process. See “Deferred Upgrade Tasks Batch Process” on
grade Tasks page 106 for details.
Status
View Details Click the View icon to open a pop‐up from which you can view the same reports contained in the
UpgradeInfo.zip file.
See “View an Upgrade Report” on page 364 for more information.
Download De- Click the Download arrow to download an UpgradeInfo.zip file that contains a set of HTML reports describing
tails various aspects of the upgrade process.
See “View an Upgrade Report” on page 364 for more information.
Remove Detail Click the trash can icon to remove this row of data.
Data
The top of the Upgrade and Versions screen contains a number of buttons that initiate specific upgrade actions. Not all
buttons are visible at all times. Individual buttons become visible depending on various aspects of the cluster and its
members.
The Upgrade and Versions screen contains the following buttons that initiate upgrade-related actions.
Start Rolling Upgrade Click to open a Start Rolling Upgrade screen from which you can initiate a rolling upgrade for this
cluster. Before you can start the upgrade, you must actively affirm that you have taken certain pre‐
upgrade steps by selecting the check box next to each pre‐upgrade step.
See “Performing a Rolling Upgrade” on page 172 for details.
Rolling Upgrade Complete Click to notify PolicyCenter that the in‐progress rolling upgrade is now complete. The rolling up‐
grade is complete after you have restarted all cluster members with the new target configuration.
Without this notification, PolicyCenter prevents cluster members with the old configuration from
starting up again.
Initiate Backout Click to attempt to stop an in‐progress rolling upgrade and initiate a backout of the new target
configuration. The attempt to stop and backout the rolling upgrade may or may not succeed, de‐
pending at what point in the rolling upgrade that the request to stop occurs.
If a backout of the rolling upgrade is possible, PolicyCenter opens a series of confirmation screens
to assist you in correcting issues related to backing out the new configuration.
Start Full Upgrade Click to open a Start Full Upgrade screen. Clicking Yes on this screen sets a flag in the database that
you intend to start a full database upgrade. You must set this database flag before deploying your
new configuration to members of the cluster.
If you do not set this flag, PolicyCenter refuses to start and refuses to alter the database. After you
complete the full upgrade, PolicyCenter deletes this flag from the database. You must set the flag
again before starting a new full upgrade.
Note: You can also initiate a full PolicyCenter upgrade using the administrative system_toools
command option -startfullupgrade. See “System Tools Command” on page 393 for details.
Cancel Full Upgrade Click to attempt to cancel an in‐progress full upgrade. If PolicyCenter determines that it is safe to
cancel the upgrade, it does so.
See also
• “Review Profiler Upgrade Information” on page 375
See also
• “Upgrade and Versions” on page 362
• “Understanding Data Model Updates” on page 238
Download Details arrow Downloads a Zip file that contains various types of upgrade information.
View Details icon Open a pop‐up window from which you can view the upgrade reports.
3. If you downloaded the report file, unzip the file into its own directory.
4. Locate file index.html and double-click it to open it in a browser.
5. Use the links on the screen to navigate through the linked reports.
Version # Meaning
A Guidewire application version plus the application release build version, 9.0.0.905, for example.
B Custom version label
a Platform major version
b Platform minor version
c Application major version
d Application minor version
e Data model version number
WARNING In a production environment, Guidewire requires that you increment the data model
version number whenever you make changes to the data model, before you restart the application
server. Otherwise, unpredictable results can occur. Use of the extensions.properties file in a
development environment is optional.
See also
• “File customer-version.properties” on page 366
• “Create a Custom Version Label File” on page 366
• “Deploy a Custom Version Label File on Tomcat” on page 366
• Configuration Guide
Server Tools 365
Guidewire PolicyCenter 9.0.6 System Administration Guide
File customer‐version.properties
Use file customer-version.properties to define a custom build version number. If you create this file and
populate it correctly, PolicyCenter appends your custom version number to the Guidewire software version label.
Most commonly, you use a custom build number to label and track a configuration deployment that you undertake as
a rolling upgrade.
File customer-version.properties contains the following single property:
customer.build
The following example illustrates how to use this property:
customer.build=20160914-PCF-upgrade
PolicyCenter does not contain file customer-version.properties in the base configuration. Instead, you must
create this file and place it in a location that PolicyCenter recognizes.
See also
• “Understanding Guidewire Software Versioning” on page 365
• “Create a Custom Version Label File” on page 366
• “Deploy a Custom Version Label File on Tomcat” on page 366
Procedure
1. Open Guidewire Studio™.
2. In the Studio Project window, expand configuration→res.
3. Select res and right-click to open the context menu.
4. Select New→File.
5. Name the file customer-version.properties.
6. Enter a value for customer.build, for example:
customer.build=20160914-PCF-upgrade
7. Save your work.
See also
• “Understanding Guidewire Software Versioning” on page 365
• “File customer-version.properties” on page 366
• “Deploy a Custom Version Label File on Tomcat” on page 366
Procedure
1. Create a Tomcat WAR file:
a. Open a command prompt in the PolicyCenter installation directory.
b. Execute the following command:
gwb warTomcatDBcp
PolicyCenter adds file customer-version.properties to the following JAR file in the generated WAR
file:
WEB-INF/lib/configuration.jar
Result
After starting the server, the Server Tools Upgrade and Versions screen shows the custom version label, appended to
the standard application version number.
See also
• “Understanding Guidewire Software Versioning” on page 365
• “File customer-version.properties” on page 366
• “Create a Custom Version Label File” on page 366
Cache Info
The Server Tools Cache Info screen provides information in both table and chart form of PolicyCenter server cache
information. Guidewire recommends that you use this information to help you monitor how well the cache is
performing.
See also
•
• “Server Cache Tuning Parameters” on page 67
• Configuration Guide
Max Cache Space (KB) Maximum amount of space to allot to the global cache.
Stale Time (mins) Maximum time allowed for an object to be in the cache without a database refresh.
Page Loaded at Date and time of the last refresh of the data on this screen.
Edit Click Edit to enter different values for Maximum Cache Space and Stale Time. If you change these parameters from the
Cache Summary view, the values you specify apply only to the PolicyCenter server to which you are connected. If
you restart the server, your changes are lost. For your changes to persist, edit the their values in file config.xml.
Refresh Click Refresh to update the information shown on this screen. This action also updates the date and time values
shown for the Page Loaded at field.
Download Click Download to download a CSV‐formatted file containing detailed cache information. See also “Understanding
the Cache Data Report” on page 369.
Clear Glob- Click Clear Global Cache to clear the cache of all entities. Note, however that the cache always contains some ob‐
al Cache jects to support an active server.
Graph Description
Cache Size The memory used by the cache over time.
Hits and Misses (Stacked) The number of cache hits (an object was found in the cache) and misses (object was not found
in the cache) and the miss percentage.
Type of Cache Misses The number of cache misses caused by PolicyCenter evicting an object because the cache was
full and the number of missed caused by PolicyCenter evicting an object due to reaping.
This graph is not visible if configuration parameter GlobalCacheDetailedStats in
config.xml is set to false.
Current Age Distribution The number of objects of various ages in the cache.
Current Cache Contents for Age All The percentage of types of objects present in the cache for all ages.
See also
• Configuration Guide
Graph Description
Space Retained Memory used by the cache over the past couple days. The time shown is a much lon‐
ger period than the cache size graph on the Cache Summary tab, which only displays
the past 15 minutes.
In this case, the x‐axis represents the average values for each time period during each
of the past eight days. This is to allow for comparison of cache behaviors against hour‐
ly trends.
Hits and Misses (stacked) Number of hits (object was found in the cache) and misses (object was not found in
the cache) and the miss percentage over the past day and past seven days.
Miss % The percentage of cache read attempts in which the object was not found in the
cache over the past day and the past seven days.
Number of Misses because item was evicted The number of misses over the past day and the past seven days due to PolicyCenter
when cache was full having evicted an object from the cache because the cache was full.
Graph Description
Age Distribution by time A number of graphs that show the age distribution of objects in the cache. The Cache Details tab
shows age distributions for zero to 30 minutes ago.
Current Cache Contents by age A number of graphs that show the percentage of types of objects in the cache over time.
The calculation of the cache miss ratio enables you to compare the data in way that is not possible by simply
examining the raw data.
Guidewire Profiler
The Server Tools Guidewire Profiler screen provides access to a set of tools that are useful in gathering and analyzing
information on the runtime behavior and performance of Guidewire PolicyCenter. The Profiler records the time
spent in specific processing areas done by the application code, as well as the configured rules and PCF screens. Use
of this information can help narrow down issues to the potentially problematic components such as PCF screens,
rules, code sections, or workflows.
Server Tools 369
Guidewire PolicyCenter 9.0.6 System Administration Guide
Profiler code is useful, for example, to record the following types of operations and information:
• SQL statements that PolicyCenter is executing
• Parameters passed to those SQL statements
• Row counts
• Name of the currently executing rule
Guidewire recommends that you exercise care in using this feature. Storing too much information can cause the
Profiler screen to become too cluttered, require more space for storage and, for long-running processes, hold on to too
much memory at runtime.
Note: Guidewire Profiler does not collect memory usage statistics. You can use a third-party tool to
gather memory usage and garbage collection information.
See also
See also
Except for Web entry points, Guidewire Profiler stores configuration information in the database. This information
is visible to all PolicyCenter servers in the cluster. For a change in configuration to a batch process, work queue, or
message destination to take effect, you need to restart that batch process, work queue, or message destination. Any
change in configuration can take some time to propagate through the cluster. Also, it may take up to the cache stale
time for a configuration change to become visible.
The next time profiling starts for a given entry point, Guidewire Profiler checks whether profiling is enabled for that
entry point. If profiling is enabled, Guidewire Profiler records the profiling data in the form of a profiler stack. The
Profiler records multiple stacks if the initial thread spawns more threads and the developer profiles the spawned
threads. Except for Web profiling, PolicyCenter persists this data database, making it possible to retrieve the data
later.
See also
Procedure
See also
• To understand the various web profile tracing options, see “Profiler Trace Options” on page 372.
• To understand the Web Profiler screen, see “Guidewire Profiler Analysis” on page 373.
• To download and save this snapshot of application profiling data, see “View Uploaded Profiler Reports” on page
375.
See also
• “Profiler Entry Points” on page 370
• “Profiler Trace Options” on page 372
• “Web Session Profiling” on page 371
• “Guidewire Profiler Analysis” on page 373
See also
• “Profiler Entry Points” on page 370
• “Web Session Profiling” on page 371
• “PolicyCenter Application Profiling” on page 372
• “Guidewire Profiler Analysis” on page 373
See also
This procedure creates a .gwprof file that you can download and store outside of Guidewire Profiler. To view the
contents of this file, you must upload the .gwprof file back into Guidewire Profiler.
Procedure
See also
See also
Procedure
1. Navigate to the Server Tools Guidewire Profiler→Profiler Analysis→Saved File screen.
2. In the Restore Snapshot field, browse to find a .gwprof file for upload.
3. Click OK.
Result
The saved profiler data loads in the Saved File screen. which then becomes the Profiler Analysis screen. If you navigate
away from this screen, Guidewire Profiler deletes the uploaded data from the screen.
See also
• “Save a Profiler Analysis Report” on page 374
Procedure
1. Navigate to the Server Tools Guidewire Profiler→Profiler Analysis→Upgrade screen.
2. In the Profiler Source area at the top of the screen, select the report that interests you.
3. In the Profiler Result area, select a value from the View Type drop-down list.
See also
• “Upgrade and Versions” on page 362
• “Guidewire Profiler” on page 369
• “Guidewire Profiler Analysis” on page 373
Server Tools 375
Guidewire PolicyCenter 9.0.6 System Administration Guide
Profiler Tags
Profiler tags represents sections of code that Guidewire Profiler can profile. A profiler tag is an alias for a piece of
code in the Guidewire application for which you want to gather performance information.
The code represents profiler tags by instances of the gw.api.profiler.ProfilerTag class. The constructor for the
ProfilerTag takes a String parameter defining the ProfilerTag name.
Always create a static final ProfilerTag object and preserve it. If you attempt to create more than one instance of
the same ProfilerTag object, PolicyCenter generates a warning message in the application log that is similar to the
following:
Profiler Frames
A profiler frame contains information corresponding to a specific invocation of profiled code, such as its start and
finish times.
In each Profiler session:
• Whenever the code calls push on the profiler stack, Guidewire Profiler creates a profiler frame and pushes the
frame onto the stack.
• Whenever the code calls pop on the profiler stack, Guidewire Profiler removes the profiler frame from the stack.
The Profiler continues to stores the frame information, however, so as to make the information available for
future examination.
The code represents Profiler frames by instances of gw.api.profiler.ProfilerFrame.
See also
• “Understanding Properties and Counters on a Frame” on page 377
Profiler Stacks
A profiler stack stores profiling information for a specific thread. A profiler stack implements the standard push and
pop functionality of a stack. The push and pop actions correspond to the beginning and end, respectively, of a piece
of code represented by a profiler tag. Thus, at any time, the current contents of the profiler stack reflect all profiler
tags whose code PolicyCenter is currently executing. The code represents Profiler stacks by instances of
gw.api.profiler.ProfilerStack.
If a profiler stack has been initialized for the current thread, the call to Profiler.push(ProfilerTag.MYTAG)
pushes a new frame with tag MYTAG on to that profiler stack. Otherwise, the call has no effect.
Similarly, Profiler.pop(frame) is just a pass-through to calling pop on the profiler stack of the current thread.
package gw.profiler
uses gw.api.profiler.ProfilerTag
class MyProfilerTags {
public static final var MY_TEST_TAG1 = new ProfilerTag("MyTestProfiler1")
public static final var MY_TEST_TAG2 = new ProfilerTag("MyTestProfiler2")
public static final var MY_TEST_TAG3 = new ProfilerTag("MyTestProfiler3")
//..
private construct() {
// Do not instantiate}
}
}
To profile a block of custom code, use the following pattern to push and pop profiling information onto the profiler
stack.
uses gw.api.profile.Profiler
...
See also
• “Understanding Properties and Counters on a Frame” on page 377
gw.api.profiler.Profiler.createPotentiallyProfiledRunnable(ProfilerTag entryPointTag,
String entryPointDetail, GWRunnable block)
This generates a new Runnable object that executes the given block. This Runnable object profiles the block if the
calling thread is also being profiled. If this is the case:
• The Profiler associates the stack for that thread with the stack of the calling thread.
• The Profiler persists that thread along with the stack of the calling thread.
See the Javadoc for the Profiler.createPotentiallyProfiledRunnable method for more details.
uses gw.api.profiler.Profiler
uses gw.api.profiler.ProfilerTag
try {
frame.setPropertyValue("PARAMETER", param)
frame.setCounterValue("COUNTER", ctr)
} finally {
Profiler.pop(frame)
After the sample code pops a profiler frame off the stack, the frame contains information about the calculated values
of PARAMETER and COUNTER. The Server Tools Profiler Analysis screen then shows these values as well.
See also
• “Guidewire Profiler” on page 369
• “Guidewire Profiler Analysis” on page 373
• “Using Custom Profile Tags with Guidewire Profiler” on page 376
See also
• Integration Guide
See also
• “Guidewire Profiler” on page 369
• Gosu Reference Guide
See also
• Product Model Guide
• Configuration Guide
Internal Tools
Guidewire provides internal tools to assist you with certain administrative tasks.
WARNING Guidewire does not support the use the tools found in the Internal Tools screens.
Guidewire provides these tools for use during development only. Guidewire does not support the
use of these tools in a production environment. Use these tools at your own risk.
See also
• “Server Tools” on page 321
See also
• “Server Modes” on page 53
Reload
The Reload screen is useful while you develop a configuration. From this screen you can reload key configuration
files into a running PolicyCenter installation. You can choose from the following options:
Option Description
Reload PCF Files Verifies and reloads all PCF files. If there are errors in the PCF files, PolicyCenter writes the errors to the
log.
Verify All PCF Files Verifies the PCF files without reloading them.
Reload Web Templates Reloads the entire PolicyCenter user interface including the config/web/templates directory.
Reload Workflow Engine Reloads the Workflow engine.
Reload Display Names Reloads label definitions only from the display_languageCode.properties file for the locale.
IMPORTANT Use the system clock plugin for testing purposes only. You can only adjust the system
clock if the PolicyCenter server is in development or test mode.
You must implement and configure the TestingClock plugin to use this tool.
See also
• See the Integration Guide for implementation details.
PC Sample Data
The PC Sample Data screen is for loading sample data into PolicyCenter for development purposes only. Guidewire
does not support this tool for a production environment.
See also
• Installation Guide
Free‐text Search
The Free-text Search screen helps you manage the Guidewire Solr Extension, a full-text search engine, during
development. The screen is an alternative to the free-text batch load command. The Free-text Search screen provides
one operation to drop the indexes and another operation to load and index data. The free-text batch load command
performs both operations in a single command.
During development, use The Free-text Search screen instead of the free-text batch load command to avoid the
installation and setup procedure required to use the command.
To access the Free-text Search screen, you must run the PolicyCenter application in development mode. The
application hides the screen whenever you run the application in production mode.
The Free-text Search screen provides the following buttons:
• Sync Policy Index – Provides the functionality similar to the free-text batch load command. It extracts policy data
from the application database and sends it to the Guidewire Solr Extension for indexing. Click this button after
you click the Drop Policy Index button.
• Drop Policy Index – Drops the policy indexes from the Guidewire Solr Extension. Click this button before you click
the Sync Policy Index button.
• Run Consistency Check – Confirms that the policy index data in the Guidewire Solr Extension matches the policy
data in the application database. Click this button after you click the Sync Policy Index button or after you run the
free-text batch load command.
You can access the Free-text Search screen if all the following are true:
• The server is in development mode.
• The EnableInternalDebugTools parameter in config.xml is true.
• The FreeTextSearchEnabled parameter in config.xml is true.
See also
• “Run the Free-text Batch Load Command” on page 286
• Installation Guide
• Configuration Guide
382 chapter 24: Internal Tools
Guidewire PolicyCenter 9.0.6 System Administration Guide
Archiving Test
PolicyCenter provides an Internal Tools Archiving Test screen that you can use to test archiving on a job or policy
term. Use this tool during development to see the effect of Archive Policy Terms batch processing on a selected job
or policy term. From this screen, you can do the following:
Action Description
Archive term by policy transaction number Enter the job ID of the policy term that you want to archive. For validation:
• If you chose to skip validation, PolicyCenter archives the policy term based on the
current configuration, including the IPCArchviginPlugin implementation.
• If you do not skip validation, PolicyCenter archives the policy term regardless of
whether there are open jobs or whether the server time has reached the date set by
PolicyTerm.NextArchiveCheckDate.
Clicking Archive does not run Archive Policy Term batch processing. Instead, the tool
reads the current configuration parameter values and runs the IPCArchivingPlugin
plugin implementation.
Archive term by policy number and term Enter the policy and term number of the policy term that you want to archive. This ac‐
tion behaves in a similar fashion to that of Archive term by policy transaction number.
Flush other work queues PolicyCenter cannot archive a policy term if that policy term is associated with one or
more workflows. To more effectively archive policy terms, Guidewire recommends that
you run this command to clean up workflows before archiving.
This command runs the following batch processing types:
• Purge Workflow
• Purge Workflow Logs
• Workflow
Run archiving batch process Click Run to start the Archive Policy Term batch processing. This action is the same as
running Archive Policy Term batch processing from the Server Tools→Work Queue Info
screen.
See also
• “Archive Policy Terms Work Queue” on page 101
• “Purge Workflow Batch Process” on page 122
• “Purge Workflow Logs Batch Process” on page 122
• “Workflow Work Queue” on page 126
PolicyCenter includes a number of administrative tools as command prompt tools that you can use for help with
administrative tasks on your PolicyCenter server.
Note: For tools that build PolicyCenter, see the Installation Guide.
User Credentials
The PolicyCenter administration command prompt tools all require that you enter the password of an administrative
user for the tool to work. The use of a user name is optional.
User Name
PolicyCenter does not require the use of a user name for an administration command. The use of a user name is
optional:
• If you do supply a value for the -user parameter, it must be the user name of a user with administrative
privileges.
• If you do not supply a value for the -user parameter, the command defaults to user su (in the base configuration)
and you must supply the password for that user.
Password
PolicyCenter expressly requires the use of a password of a user with administrative privileges for an administration
command. If you do not supply a value for the -password parameter, the execution of the command fails
Before PolicyCenter executes the tool script, it prompts you to enter the missing information. If you chose to mask
the user name and password information:
• PolicyCenter does not echo the entered user name or password back to the screen.
• The operating system, either Windows or Linux, does not store the plain text information in the command prompt
buffer and command history.
import_tools -help
tool_name Bold font indicates that this is the actual command name, for example, import_tools.
-option All command options start with a minus sign (-). Command options are either mandatory or optional. See the
following discussion.
| An upright bar indicates a Boolean OR. For example, A | B | C means A or B or C.
{ ... } A set of curly braces indicates a set of mutually exclusive choices. You must one chose (and only one) item from a
set of choices. For example, { A | B | C } indicates you must choose either A or B or C, but not more than of
one the listed options.
arguments Specifies the arguments required by a tool option such as a file name or directory, for example, import_tools ...
-import file.
... A series of dots after the argument indicates that you can enter multiple items of the same type. For example, -
import file ... indicates that you can enter multiple file names (file) after the -import argument.
[ ... ] A set of square brackets indicates that the argument is optional. For example, [-user] indicates that the com‐
mand permits you to set a user value (-user), but does not require that you set this value.
In contrast, an argument not enclosed in square brackets indicates that an argument is mandatory. For example,
for all the administrative commands, the -password argument is mandatory. Thus, the command syntax does not
surround the -password argument by square brackets as the argument is mandatory.
Tool Description
“Data Change Command” Provides a mechanism for making changes to code on a running production server.
on page 387
WARNING Only use the data_change command under extraordinary conditions, with
great caution, and upon advice of Guidewire Support. Before registering a data change on
a production server, register and run the data change on a development server. Guidewire
recommends multiple people review and test the code and the results before attempting
the data change on a production server.
“Import Tools Command” Set of utilities for loading XML‐formatted data into PolicyCenter.
on page 388
“Maintenance Tools Com‐ Set of utilities for performing maintenance operations on the server (for example, running esca‐
mand” on page 390 lation/exception rules, calculating statistics, and more.)
Tool Description
“Messaging Tools Com‐ Provides a set of utilities for managing integration event messages (for example, retrying a mes‐
mand” on page 391 sage, skipping a message, purging the message table, and more).
“System Tools Command” Provides a set of utilities for controlling the server (for example, pinging the server, bringing the
on page 393 server in and out of maintenance mode, updating database statistics, and more.)
“Table Import Command” Used for importing tables into the database.
on page 399
“Template Tools Command” Helps in converting between template versions.
on page 401
“Workflow Tools Com‐ Allows you to manage user workflows in the system.
mand” on page 402
“Zone Import Command” Loads zone data from a file to a staging table.
on page 403
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server. Guidewire recommends multiple
people review and test the code and the results before attempting the data change on a production
server.
data_change -help
data_change -password password [-server url] [-user user] {
-edit refID -gosu filepath [-description desc] |
-discard refID |
-status refID |
-result refID }
See also
• For a description of how and when to use the data_change command to change data on a running production
server, see “Production Data Fix Tool” on page 289.
• For a description of how to use the DataChangeAPI web service, see “Data Change Web Service Reference” on
page 295.
WARNING Only use the Production Data Fix tool under extraordinary conditions, with great
caution, and upon advice of Guidewire Support. Before registering a data change on a production
server, register and run the data change on a development server. Guidewire recommends multiple
people review and test the code and the results before attempting the data change on a production
server.
Option Description
-description desc Human‐readable description (desc) of the change. Include this option with the edit option. For
testing, the description is optional. For production use, include the description. Put quotes around
the description to permit space characters in the description.
-discard refID Instruction to discard a data change that you already registered. You must supply a data change ref‐
erence ID (refID). You cannot discard a data change that was already run.
-edit refID Instruction to create a new data change or edit an existing data change. You must supply a unique
reference ID (refID) for this data change.
If the data change succeeded with no compile errors, you cannot edit it. You must re‐register the
script with a new reference ID.
If the data change was never run, or had compile errors, you can update (edit) the Gosu code with
the same reference ID.
If you use the edit option, you must:
• Include the -gosu option to include your Gosu data change code
• Include the -description argument to provide a description
-gosu filepath Full path name (filepath) to a Gosu script. You must include this option with the edit argument.
You can use a full path name, or a relative path that is relative to the current working directory.
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-result refID Result of a data change that you already registered. You must supply a data change reference ID
(refID). If a user attempted to run it and there were parse errors, the results include the errors.
-server url Specifies the PolicyCenter host server URL. Include the port number and web application name, for
example:
http://servername:8180/pc
-status refID Status of a data change that you already registered. You must supply a data change reference ID
(refID). This option prints the status of the data change, which is one of the following:
• Open
• Discarded
• Executing
• Failed
• Completed
-user user User (user) to use to run this process.
The import_tools command imports new or updated data into existing tables in the PolicyCenter database. You can
only import data for valid entities or their subtypes. PolicyCenter supports this command for importing
administrative data but not for importing other data into PolicyCenter.
Note: PolicyCenter does not fire any events related to the data you add or modify through this
command. PolicyCenter does not throw concurrent data change exceptions if the imported records
overwrite existing records in the database.
Data that you import into PolicyCenter through the use of import_tools is immediately available. You do not need
to restart the PolicyCenter server for the changes to take effect.
IMPORTANT Guidewire supports using the import_tools command to import administrative data
only.
IMPORTANT The MaximumFileUploadSize parameter in config.xml must exceed the size of any file
that you attempt to import. The MaximumFileUploadSize parameter value is in megabytes (MB). The
base configuration default value of MaximumFileUploadSize is 20 MB.
See also
• “Ways to Import Administrative Data” on page 267
• “About the import Directory” on page 268
• “Using Tools to Import Administrative Data” on page 277
• Integration Guide
Option Description
-charset charset Character set encoding (charset) for the files to import.If this option is null,
PolicyCenter sets the default character encoding to UTF‐8. See also “Character Set
Encoding for File Import” on page 270.
-dataset integer Integer value (integer) representing the dataset to import from a CSV‐formatted
file, for example:
RolePrivilege,0,default_data:3,abdelete,audit_examiner
PolicyCenter orders datasets by inclusion. The number of the smallest dataset is al‐
ways 0. Thus, dataset 0 is a subset of dataset 1, and dataset 1 is a subset of dataset 2,
and so forth.
To import all data, set this value to ‐1.
-ignore_all_errors Causes the tool to ignore any errors in a CSV‐formatted input file.
-ignore_null_violations Causes the tool to ignore violations of null constraints in a CSV‐formatted input file.
-import filename1, filename2, ... Imports administrative data from one or more CSV (comma‐separated values data)
files or XML files.
It is possible to provide a list of file names in a separate file. To do so, create a file
that contains a comma‐separated list of files names. Prefix an @ character to the
name of the list file, for example:
-import @files.lst
To convert data using the -output_csv or -output_xml options, provide only a sin‐
gle file name.
-output_csv filename If used with the -import option, outputs comma‐separated values to the specified
file and then stops processing. PolicyCenter imports no data into the server. Use this
option to convert XML input files to CSV‐formatted output files.
-output_xml filename If used with the -import option, outputs XML to the specified file and then stops
processing. PolicyCenter imports no data into the server. Use this option to convert
CSV input files to XML‐formatted output files.
Option Description
-password password Password to use to connect to the server. PolicyCenter requires the password value.
-privileges Adds the role privileges contained in file roleprivileges.csv in the Guidewire Stu‐
dio™ modules/configuration/config/import/gen folder to those roles that al‐
ready exist in the database.
See also “About Adding Admin Data after Initial Server Startup” on page 269.
-server url Specifies the PolicyCenter host server URL. Include the port number and web appli‐
cation name, for example:
http://servername:8180/pc
The maintenance_tools command starts, terminates, or retrieves the status of a PolicyCenter process. For a list of
processes that the maintenance_tools command can start, see “The Work Queue Scheduler” on page 89.
Option Description
-args arg1 arg2 ... Arguments to use while starting a process. Use only with -startprocess.
If you have multiple arguments, separate each one with a space. The command does not vali‐
date the provided arguments.
To use arguments with custom batch processes, see the Integration Guide, especially the fol‐
lowing method:
ProcessesPlugin.createBatchProcess(type, args)
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-processstatus process Returns the status of a batch process. For the process value, specify a valid process name or
a process ID.
For work queues, this option returns the status of the writer process. It does not check
whether additional work items remain in the work queue. Thus, it is possible for the process
status to report completion after the writer finishes adding items to the work queue while
the work queue contains unprocessed work items.
-server url Specifies the PolicyCenter host server URL. Include the port number and web application
name, for example:
http://serverName:8180/pc
-startprocess process - Starts a new batch process. For the process value, specify a valid process code. See also -
args... args.
For a list of batch process codes, including work queue writer processes, see “Work Queues
and Batch Processes, a Reference” on page 98.
-terminateprocess process Terminates a batch process. For the process value, specify a valid process name or a process
ID.
Option Description
It is not possible to terminate single phase processes using this option. Single phase process‐
es run in a single transaction. Thus, there is no convenient place to terminate the process.
See “Work Queues and Batch Processes, a Reference” on page 98 to determine if it is possi‐
ble to terminate a process.
-user user User (user) to use to run this process.
-whenstats Reports the last time PolicyCenter calculated statistics on the server.
You use the messaging_tools command to manage a message destination from the command prompt. To do so,
you must know the message destination ID. The person who creates the message destination assigns this ID. You
create and configure message environments and destinations in file messaging-config.xml. Access messaging-
config.xml in Guidewire Studio at the following location:
configuration→config→Messaging
Op‐ Description
tion
-account accountID Use to specify the account ID (accountID) of the account to re‐synchronize. See -resync.
-config - Returns the configuration for a message destination.
destination destinationID
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-purge date Deletes completed messages that are older than a specified date. The purge tool deletes mes‐
sages in Acked, ErrorCleared, Skipped or ErrorRetried state with send time before the
specified date. The date format is mm/dd/YYYY.
If the purge tool succeeds in removing these messages without error, it reports Message
table purged.
Since the number and size of messages can be very large, periodically use this command op‐
tion to purge old messages to avoid the database from growing unnecessarily.
Op‐ Description
tion
-resync - Re‐synchronizes an account with specified ID against a specific message destination. Use -
destination destinationID destination and -account to specify the destination and policy.
-account
accountID
-retry messageID Attempts to resend a message that failed. The message must be a candidate for retrying. A
message is a candidate for retry if the error at the destination system is temporary and the
message destination does not have an automatic retry mechanism. For instance, the message
is a candidate for retry if the destination contains a locked record and refuses the update.
-retrydest destinationID Retries all retryable messages for a message destination.
-server url Specifies the PolicyCenter host server URL. Include the port number and web application
name, for example:
http://serverName:8180/pc
-skip messageID Skips a message with the specified ID. If you mark a message as skipped, then PolicyCenter
stops trying to resend the message. After you skip a message, you cannot retry it.
-statistics destinationID Prints the statistics for the specified destination.
-suspend destinationID Suspends a message destination. Use this command option if the destination system is going
to be shut down or to halt sending while PolicyCenter processes a daily batch file.
-user user User (user) to use to run this process.
See also
Option Description
-cancelshutdown serverId Cancels the planned shutdown of the server specified by serverId.
-cancelupdatestats Cancels the process that is updating database statistics if running. Use the fol‐
lowing option to verify the process state:
-getupdatestatsstate
-checkdbconsistency Checks the consistency of data in the database. The -checkdbconsistency op‐
tion runs consistency checks as an asynchronous batch process. PolicyCenter
provides this option so that you can schedule consistency checks to run during
a time period of low activity on the database server.
The -checkdbconsistency option has two optional arguments:
• tblSelection
• checkTypeSelection
Command Prompt Tools 393
Guidewire PolicyCenter 9.0.6 System Administration Guide
Option Description
Specify the tblSelection argument as one of the following:
• all – Run consistency checks on all tables.
• tableName – The name of a single table on which to run checks.
• tg.tableGroupName – The name of a table group. Use the <database>
element in database-config.xml to define table groups. For more
information, see the Installation Guide.
• @fileName – The name of a file name that contains one or more valid table
names or table group names entered in comma‐separated values (CSV)
format. Prefix table group names with tg., such as tg.MyTableGroup. You
can combine table groups and individual table names in the same file.
Specify the checkTypeSelection argument as one of the following:
• all – Run all consistency checks on the specified tables.
• checkName – The typecode of a single consistency check to run.
• @fileName – The name of a file with one or more valid consistency check
names entered in comma‐separated values (CSV) format.
If you specify one optional argument, you must specify both.
To run consistency checks from PolicyCenter, use the Server Tools Consistency
Checks→Info Page screen, described in “Consistency Checks” on page 333.
For more information, see “Database Consistency Checks” on page 240.
-completefailedfailover type Manually completes component failover for a failed component. You must sup‐
componentId ply the component type (type) and component ID (componentId).
-components Provides information about the components that exist on each PolicyCenter
server in the cluster. The report contains the following information for each
component:
• Component type
• Component code
• Component state
• Component start date and time
• Server ID of the server instance on which the component exists
• Component ID
The report information is similar, but not identical, to the cluster information
available from the Server Tools Cluster Members and Cluster Components screens.
See “Cluster Members and Components” on page 356 for information on these
screens.
-daemons Sets the server to the daemons run level. For information about the various run
levels, see “Server Run Levels” on page 55.
-dbcatstats Used with no arguments, the option returns a ZIP file of database catalog statis‐
tics info for all the tables in the database.
The -dbcatstats option takes the following optional arguments:
• regularTables
• stagingTables
• typelistTables
This option, used with three arguments, returns a ZIP file of database catalog
statistics info for the specified tables.
Specify each of the arguments as one of the following:
• all / none – Select all or none of the tables of this type
• <tableName> – The name of a single table of this type
• @<fileName> – The name of a file with one or more valid table names of
this type entered in comma‐separated values (CSV) format.
For example, -dbcatstats none none all returns database catalog statistics
information for all the typelist tables. You must specify either no arguments or
all three arguments if you use this command option.
You can specify the target destination for the database catalog statistics ZIP file
by adding the –filepath filepath option. If you do not provide a path,
PolicyCenter uses the current directory.
Option Description
This process can take a long time, and it is possible for the connection to time
out. If the connection times out while running this command option, try reduc‐
ing the number of tables on which to gather statistics by using the arguments
listed previously.
For information about configuring database statistics generation, see “Under‐
standing Database Statistics” on page 255.
-evenifincluster [-filepath filepath] Consider the cluster member as failed even if it is still in the cluster. Use only
with the -nodefailed option.
The -filepath parameter sets the location (filepath) for an optional report.
IMPORTANT This command option overrides an important safety check on the
server. Use this command option in certain defined circumstances only. See -
nodefailed for details.
-getdbccstate Returns the status of any currently executing database consistency checks,
Processing or Completed, for example.
-getdbstatisticsstatements Retrieves the list of SQL statements to update database statistics and prints the
list to the console. See “Understanding Database Statistics” on page 255.
-getincrementaldbstatisticsstatements Retrieves the list of SQL statements to update database statistics for tables ex‐
ceeding the change threshold. Prints the list to the console.
The incrementalupdatethresholdpercent attribute of the
<databasestatistics> element in database-config.xml defines the change
threshold. See “Understanding Database Statistics” on page 255.
-getPerfReport ID Downloads the performance report with the specified ID. You can retrieve a list
of available performance report IDs by running the -listPerfReports com‐
mand option.
-getupdatestatsstate Returns the state of the process running the statistics update.
-listPerfReports number Lists IDs and other information for available database performance reports. You
can specify an optional integer (number) to specify the number of available
downloads to list, ordered starting with the most recent. If unspecified or 0,
this command lists all available downloads.
The list shows the ID of the report and the status, indicating if the performance
report batch job succeeded, failed, or is still running. The list also includes the
start and end times of the batch job and the description of the batch run.
You can use the ID of the performance report to download the report with the
-getPerfReport ID option.
Option Description
-nodefailed serverId Releases any tasks owned by the PolicyCenter server specified by serverId.
Only use this command option if the server referenced by serverId has already
been stopped or otherwise shutdown.
See also the -evenifincluster option.
IMPORTANT You must ensure that the server referenced by serverId is actual‐
ly stopped if using the -evenifincluster option. PolicyCenter does not pre‐
vent you from using this option if the server is still running. However, this op‐
tion overrides an important safety check on the server. It can produce unex‐
pected and possibly negative results if the server is running.
Use the -evenifincluster option only if both of the following are true:
• The server in question is no longer running.
• The standard operation of the -nodefailed command failed due to the
server retaining its cluster membership.
-nodes Provides information about each PolicyCenter server in the cluster. The report
contains the following information on each cluster member:
• ID of this cluster server
• Whether the server instance is actively in the cluster
• Server run level
• Time the server instance started
• Time at which PolicyCenter last updated the server instance
• Number of user sessions active on the server instance
• Whether a planned shutdown is in progress
• Time of the planned shutdown
• Whether background tasks are still active on the server
The report information is similar, but not identical, to the cluster information
available from the Server Tools Cluster Members screen. See “Cluster Members
and Components” on page 356 for information on that screen.
-oraListSnaps numSnaps Lists numSnaps number of available Oracle AWR snapshot IDs, starting with the
most recent snapshot. You can generate performance reports using the -
oraPerfReport option with these available beginning and ending snapshot IDs.
-oraPerfReport beginSnapshotID Generates a Guidewire AWR performance report using the OraAWRReport batch
endSnapshotID process. This command option has the following arguments:
probeVDollarTables • beginSnapshotID
• endSnapshotID
• probeVDollarTables
Specify the beginning and ending snapshot IDs and whether to probe VDollar
tables. The two snapshots must share the same Oracle instance startup time.
The third argument can also specify a file by prefixing the file name with an @
sign, for example, @filename.properties.
Optionally, you can prefix the file name with the path to the file, if the file is not
in the current directory. This file is a standard properties file with the following
property names (default value in parenthesis):
• probleVDollarTables (false)
• capturePeekedBindVariables (false)
• searchQueriesMultipleHistoricPlans (false)
• searchQueriesBeginSnapOnly (true)
• searchQueriesEndSnapOnly (true)
• includeInstrumentationMetadata (false)
• outputRawData (false)
• includeDatabaseStatistics (true)
• probeSqlMonitor (true)
• capturePeakedBindVariablesFromAWR (false)
• genCallsToAshScripts (false)
Option Description
You must spell and capitalize each property as shown or PolicyCenter ignores
the property. If you specify a property, you must set value of that property to
either true or false. If you do not specify a property, PolicyCenter uses the de‐
fault value for that property.
The -oraPerfReport option reports the process ID of the process generating
the performance report. You can check on the status of this process using the
following command:
maintenance_tools -processstatus processID
View the performance report on the Info Page. See “Oracle AWR” on page 347.
-password password Password (password) to use to connect to the server. PolicyCenter requires the
password.
-ping Pings the server to check if its active. The returned message indicates the serv‐
er run level. The possible responses are:
• MULTIUSER
• DAEMONS
• MAINTENANCE
• STARTING
For information about functionality available at various run levels, see “Server
Modes” on page 53.
-recalcchecksums Recalculates file checksums that PolicyCenter uses for clustered configuration
verification.
-reloadloggingconfig Directs the server to reload the logging configuration file.
-requestcomponenttransfer type Requests transfer of ownership of a component of the specified type (type) and
componentId ID (componentId) to the specified PolicyCenter server (targetOwner).
targetOwner Use the -components command option to determine the component informa‐
tion to enter.
The -requestcomponenttransfer command option fails if the component can‐
not be successfully stopped or the current owning server is unable to process
the request.
-scheduleshutdown serverId Schedules the planned shutdown of the server specified by serverId. Use with
[-terminatebatchprocesses the following optional options:
-shutdowndelay minutes] • -terminatebatchprocesses – Determines how the shutdown process
handles the batch processes (including work queue writers) currently
running on the server. See “About Planned Server Shutdowns” on page 357
for information on this command option.
• -shutdowndelay minutes – Server shuts down in the number of minutes
specified by minutes.
It is also possible to schedule a server shutdown in the following ways:
• From the Server Tools Cluster Members screen. See “Cluster Members and
Components” on page 356 for information.
• Through the SystemToolsAPI web service. See the PolicyCenter Integration
Guide for information.
-shutdowndelay minutes Server shuts down in the number of minutes specified by minutes. Use with
the -scheduleshutdown option only.
-server url Specifies the PolicyCenter host server URL. Include the port number and web
application name, for example:
http://serverName:8180/pc
Option Description
See the PolicyCenter upgrade documentation for details of the PolicyCenter ap‐
plication upgrade process.
See the Upgrade Guide for more information.
-terminatebatchprocesses Immediately terminates all running batch processes on the specified server. Use
with the -scheduleshutdown option only.
-updatelogginglevel logger level Sets the logging level of logger with the given name. For the root logger, specify
RootLogger for the logger name.
-updatestatistics description update Launches the Update Statistics batch process to update database statistics.
It is possible to specify an optional text description (description) for this batch
process execution. PolicyCenter shows the text of the description on the Execu-
tion History tab of the Database Statistics info page.
Specify one of the following values for update:
• true – Update database statistics for tables exceeding the change threshold
only. Guidewire defines this change threshold through the
incrementalupdatethresholdpercent attribute of the
<databasestatistics> element in database-config.xml.
• false – Generate full database statistics.
IMPORTANT Updating database statistics can take a long time on a large data‐
base. Only collect statistics if there are significant changes to data, such as after
a major upgrade, after using the zone_import command, or if there are per‐
formance issues.
See also
• “Understanding Database Statistics” on page 255
• “Database Statistics Work Queue” on page 105
• “Database Statistics” on page 343
-user user User (user) to use to run this process.
-verifyconfig filepath Compares the following two server configurations:
1. The new or target server configuration contained in a WAR/EAR file
pointed to by the filepath parameter.
2. The existing server configuration of the cluster member on which you
run the system_tools command.
The tool provides an on‐screen report that contains information about the fea‐
sibility of a configuration upgrade for the server instances in the cluster. For ex‐
ample, the tool provides the following types of information:
• Configurations are different – Requires a full PolicyCenter server upgrade.
• Configurations are identical – No upgrade is necessary.
• Configurations are compatible – Guidewire permits a rolling upgrade.
If a rolling update is not possible, the command lists the incompatible or miss‐
ing files.
If a rolling update is in progress, there are two possible configurations active in
the cluster. Each individual server instance is using either the source configura‐
tion or the target configuration.
The -verifyconfig command option checks for both configurations on the
server instances on which you run the command and reports which of the con‐
figurations is active on this cluster member. If neither configuration is active,
the command reports that a rolling update is in progress and that it is not possi‐
ble to verify the configuration at this time.
-verifydbschema Verifies that the data model matches the underlying physical database.
-version Returns the running server version, the database schema version, and configu‐
ration version.
The table_import command loads data from staging tables into PolicyCenter. Most of the options for this
command require the server to be at the MAINTENANCE run level. Before you use those command options, use the
system_tools -maintenance command option to set the server run level to MAINTENANCE. Use the system_tools
-multiuser command option to set the server run level to MULTIUSER after the table import command completes.
It is not possible to use the system_tools -terminateprocess command option to terminate the table_import
command.
IMPORTANT PolicyCenter supports bulk data import from staging tables for loading zone data only.
For more information, see “Zone Import Command” on page 403.
See also
• “Load History” on page 351
• “System Tools Command” on page 393
• Integration Guide
Option Description
-allreferencesallowed Allows references to existing non‐administrative rows in all operational tables.
This option only applies with the following command options:
-integritycheck
-integritycheckandload
This option corresponds to the Boolean parameter allowRefsToExistingNonAdminRows
used by the integrity check methods of the TableImportAPI web service. Guidewire rec‐
ommends that you use this option or the equivalent API parameter, set to true only if
absolutely necessary.
This option can cause performance degradation during the check and load process, which
would noticeably slow down the loading of staging table.
See also “The Load History Detail Report” on page 352.
Option Description
-batch Runs the table_import command in a batch process. This option only applies with the
following command options:
-deleteexcluded
-encryptstagingtbls
-integritycheck
-integritycheckandload
-populateexclusion
-updatedatabasestatistics
You can run table_import in a batch process from any node in a PolicyCenter cluster.
However, table import batch processing must run physically on a server designated as a
batch server. Therefore, in running the command, provide the URL of a batch server and
also provide the user credentials for that batch server.
Note: The -batch option does not wait until the started process completes before
returning. Instead, it returns immediately and prints the ID of the started process (PID).
The process caller is responsible for waiting for the process to complete before taking
further action.
-clearerror Clears the error table.
See also “The Load History Detail Report” on page 352.
-clearexclusion Clears the exclusion table.
-clearstaging Clears the staging tables. Requires the server to be at the MAINTENANCE run level.
-deleteexcluded Deletes rows from staging tables based on contents of exclusion table.
-encryptstagingtbls Do not use. While this command option is available, Guidewire does not support this
command option in PolicyCenter.
-estimateorastats Executes queries for row counts on production tables and sets the database statistics. If
you do not use this option, the import command uses information in database statistics
to report approximate row counts. Use the -estimateorastats option only to load pro‐
duction tables that are empty or have very few rows. Used with the -
integritycheckandload command option.
This option only applies with the following command option:
• -integritycheck
• -integritycheckandload
This parameter corresponds to the Boolean parameter
updateDBStatisticsWithEstimates used by the integrity check methods of the
TableImportAPI web service.
This command option applies to Oracle databases only.
-filepath filepath Path to target directory in which to download a report. Use with the -
getLoadHistoryReport command option.
-getLoadHistoryReport Downloads a compressed Zip version of the load history report as specified by the value
reportID of reportID. Does not require the server to be at the MAINTENANCE run level. Use the -
listLoadHistoryReports option to determine the ID to use. Use the optional -filepath
parameter to specify the target directory for the download.
-integritycheck Validates the contents of the staging tables. You can optionally specify:
-allreferencesallowed
-clearerror
-numthreadsintegritychecking
-populateexclusion
Option Description
-integritycheckandload Validates the contents of the staging tables and populate operational tables. You can op‐
tionally specify one of the following command options as well:
-allreferencesallowed
-clearerror
-estimateorastats
-numthreadsintegritychecking
-populateexclusion
-zonedataonly
-listLoadHistoryReports Lists the most recent load history reports. Optional parameter numReports is the number
[numReports] of reports to list:
• If you supply a positive integer for numReports, then PolicyCenter lists that number of
most recent reports.
• If you do not supply a value for numReports, then PolicyCenter lists all available
reports.
Does not require the server to be at the MAINTENANCE run level.
-messagesinks sinks, ... Deprecated. This option does nothing.
-numthreadsintegritychecking Specifies the number of threads that PolicyCenter is to use in running database table in‐
num tegrity checks. The value of num has the following meaning:
• Not specified – PolicyCenter assumes the number of threads to be one, no
multithreading.
• 1 – No multithreading, the default.
• 2 ‐ 100 – PolicyCenter runs the database integrity checks with the number of specified
threads.
• > 100 – PolicyCenter throws an exception.
This option only applies with the following command options:
-integritycheck
-integritycheckandload
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-populateexclusion Populate the exclusion table with rows to exclude.
See “The Load History Detail Report” on page 352.
-server url Specifies a PolicyCenter server URL. Include the port number and web application name,
for example:
http://serverName:8180/pc
If running the table import command in a batch process, see -batch for more informa‐
tion.
-updatedatabasestatistics Updates the database statistics on the staging tables. Run the table import command
with this option after populating the staging tables, but before using the -
integritycheck or -integritycheckandload options.
See “The Load History Detail Report” on page 352.
-user user Specifies the user to use to run this process.
-zonedataonly Sets the import to load zone data only. Used with the -integritycheckandload com‐
mand option.
-list_templates |
-validate_all |
-validate_template templateID }
The template_tools command contains options to list, manage, and validate document templates.
See also
• Integration Guide
Option Description
-convert_dir directory Converts all templates in the specified directory to the new format.
-convert_file filename Converts the specified template to the new format.
-import_dir objectsfile fieldsfile Imports context objects and form fields from the provided CSV‐formatted files into
directory all the templates in the specified directory. This option has the following argu‐
ments:
• objectsfile – File containing the context objects for import, in CSV format.
• fieldsfile – File containing the fields for import, in CSV format.
• directory– Directory that contains the templates to update.
-import_files objectsfile Imports context objects and form fields from the provided CSV‐formatted files into
fieldsfile outfile the specified template descriptor file (outfile). This option has the following argu‐
ments:
• objectsfile – File containing the context objects for import, in CSV format.
• fieldsfile – File containing the fields for import, in CSV format.
• outfile – Template descriptor file to update.
-list_templates Lists all of the templates available for validation.
-password password Password (password) to use to connect to the server. PolicyCenter requires the
password.
-server url Specifies the PolicyCenter host server URL. Include the port number and web appli‐
cation name, for example:
http://serverName:8180/pc
You can also control workflows using the WorkflowAPI web service. See the Integration Guide.
Option Description
-complete workflowID Completes running workflow for the specified workflow (workflowID).
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-resume workflowID Resume named workflow (workflowID) in the error or suspended state.
-resume_all Resume all workflows in the error or suspended state.
-server url Specifies the PolicyCenter host server URL. Include the port number and web application name, for
example:
http://serverName:8180/pc
The zone_import command imports data in CSV format from specified files into database staging tables for zone
data. It is only possible to import zone data for a single country at a time. The zone data files that you import must
contain zone data for a single country only. To load zone data for multiple countries, use the command multiple
times with different, country-specific zone data files each time.
Guidewire expects that you import address zone data upon first installing PolicyCenter, and then at infrequent
intervals thereafter as you receive data updates.
See also
• For a discussion of zone data, importing a zone data file, and working with custom zone data files, see “About
Importing Zone Data” on page 282.
• For more information on importing zone data and database staging tables generally, see the Integration Guide.
• For information on the web service ZoneImportAPI that also imports zone data, see the Integration Guide.
Option Description
-charset charset Character set encoding of the zone data file. The default is UTF‐8.
-clearproduction Clears zone data from the production tables. Optionally, specify the -country option to clear data
for only one country.
Option Description
-clearstaging Clears zone data from the staging tables. Optionally, specify the -country option to clear data for
only one country.
-country countrycode Used with -import, -clearproduction, and -clearstaging command options:
• If used with the -import option, -country specifies the country of the zone data in the import
file.
• If used with either the -clearproduction or -clearstaging options, -country specifies the
country of the zone data to clear from the tables.
-import filename Imports zone data from the specified file (filename). You must set a value for the -country op‐
tion.
If you include the optional -clearstaging option, PolicyCenter clears the data in the staging ta‐
bles for the specified country before importing the data from the import file.
-password password Password (password) to use to connect to the server. PolicyCenter requires the password.
-server url Specifies the PolicyCenter host server URL. Include the port number and web application name,
for example:
http://serverName:8180/pc