123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: XQE
- (C) Copyright IBM Corp. 2009, 2019
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM corp.
- -->
- <!--Do not modify this file! This file contains default settings. If you wish to modify these settings, please make a copy of this file and rename it "xqe.config.custom.xml" then make your changes to the new file.-->
- <XQEConfiguration version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <!-- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). -->
- <general>
- <!-- Enables/disables hooks. -->
- <hooks enabled="false"/>
- <!-- The folder to use for log files. -->
- <!--logsFolder value="../../logs"/-->
- <!-- The directory to use for XQE temp files. This will override the temporary files location set using Cognos Configuration. -->
- <!--tempDirectory value="../temp"/-->
- <!-- The directory to use for XQE data files. This will override the data files location set using Cognos Configuration.-->
- <!--dataDirectory value="../data"/-->
- </general>
- <network>
- <!-- RMI registry port. Default is 0 (port will be selected automatically). -->
- <rmiRegistry port="0"/>
- <!-- JMX remote port. Default is 0 (port will be selected automatically). -->
- <jmxRemote port="0"/>
- <!-- XQE Service port. Default is 0 (port will be selected automatically). -->
- <xqeService port="9301"/>
- <!-- The new Query Service (DataSetService)'s soap endpoint URL -->
- <xqeService soapEndpoint="/dataset-service/v1/datasets/soap"/>
- <!-- Dispatcher callback port to pass initialization information. Default is 0 (port will be selected automatically). -->
- <dispatcherCallback port="0"/>
- <!-- XQE Service buffersize in kb (default is 256kb) -->
- <!--<bufferSize size="5120"/>-->
- </network>
- <ma4j>
- <!-- If enabled, promptFilterItemRef value will be suppressed-->
- <suppressPromptFilterItemRef enabled="false"/>
- <!-- If enabled, all invalid XML characters in member captions are replaced by the character defined in attribute 'value'
- Default behavior enabled = "true" with value = "": removes invalid XML characters.
- -->
- <replaceInvalidXmlCharacter enabled="true" value=""/>
- </ma4j>
- <!-- Enables/disables the logging of query planning activities. If the compressedFile attribute is true, the -->
- <!-- trace files are written in zip format. -->
- <queryPlanning>
- <!--When enabled, a slicer on members of a dimension with multiple hierarchies may remove the members of other hierarchies in that dimension through Microsoft's AutoExists feature.
- When disabled, all members are retained and their value is recalculated to null.-->
- <AllowAutoexistsWithSlicer enabled="false"/>
- <!-- If it is enabled, SQL snippets are generated for most relational nodes. -->
- <notes enabled="false"/>
- <includeMacroExpansionInXqeLogs enabled="false"/>
- <!--NativeCommentMacroAlternative value="#'user=' + $account.defaultName + ' reportPath=' + $reportPath + ' report=' + $report + ' queryName=' + $queryName + ' REMOTE_ADDR=' + $REMOTE_ADDR + ' SERVER_NAME=' + $SERVER_NAME + ' HTTP_HOST=' + $HTTP_HOST + ' requestID=' + $requestID#"/-->
- <NativeCommentMacro value="#'user=' + $account.defaultName + ' reportPath=' + $reportPath + ' queryName=' + $queryName + ' REMOTE_ADDR=' + $REMOTE_ADDR + ' SERVER_NAME=' + $SERVER_NAME + ' requestID=' + $requestID#"/>
- <!-- Return data type of a data base function will be used in planning. Allows more data base side versus local processing in case functions nesting/operations.
- Requires strict definition of the data base capabilities in the property files and FDS. -->
- <strictDBFunctionReturnType enabled="false"/>
- <!-- Enable/disable whether the planning engine will determine if a calculated member is eligible to be primed by the MDX engine (primable). This is only available for ROLAP. -->
- <primingQuery enabled="false">
- <RO enabled="false"/>
- </primingQuery>
- <!-- Determines whether the engine should use an extension that allows users to pass formatting
- patterns when applying a cast operator (either using typed-in cognos-sql or using generated
- cognos-sql from V5. -->
- <localFormattingOnCastOperator enabled="true"/>
- <!-- ***HEADS UP! DO NOT MODIFY <definedCalculations>***
- Required statistical calculations for smart annotations.
- Use @s as placeholder for the expression operands.
- When there are 2 or more operand operandOrder tells in what order the given operands will be used to replace the @s place holders.
- Example 1, for the data item:
- {
- "id": "extraColumnSumSqr",
- "calculation": {
- "operation": "sumSqr",
- "operands": [{
- "dataItem": "Revenue"
- }]
- }
- }
- sumSqr expression will use the only listed data item "Revenue" for both operands.
- "total(power(@s - average(@s); 2))" should become "total(power([Revenue] - average([Revenue]); 2))"
- Example 2, , for the data item:
- {
- "id": "extraColumnSumSqr",
- "calculation": {
- "operation": "sumSqr",
- "operands": [{
- "dataItem": "Revenue"
- }, {
- "dataItem": "Cost"
- }]
- }
- }
- and <sumSqr expression="total(power(@s - average(@s); 2))" operandOrder="0,1"/>
- the resulting expression is "total(power([Revenue] - average([Cost]); 2))"
- ***HEADS UP! DO NOT MODIFY <definedCalculations>*** -->
- <definedCalculations>
- <sumSqr expression="variance-pop(@s)*count(@s)" operandOrder="0,0"/>
- <sumSqrOnAttribute expression="0"/>
- <rowCount expression="count(all @s)"/>
- </definedCalculations>
- </queryPlanning>
- <queryExecution>
- <!-- MDX engine cell cache configuration. The following settings applies only to DMR and LOLAP, not ROLAP. -->
- <MDXEngineCellCache>
- <!-- Approximate storage limit per cube in Mb -->
- <StorageSizePerCube value="100"/>
- <!-- The percentage of the max storage size when cache eviction starts -->
- <LimitThreshold value="90"/>
- <!-- The number of seconds between cubelet maintenance starts -->
- <MaintenanceTimeInterval value="60"/>
- </MDXEngineCellCache>
- <!-- Calculation Engine Query Priming Configuration. The following settings only apply to the datasource that's enable in queryPlanning section -->
- <PrimingQuery>
- <!-- The minimum number of primable calculations at which the MDX engine will conduct an additional priming phase to determine and consolidate any SQL queries to prime the data cache for these calculations. -->
- <primingThreshold value="10"/>
- </PrimingQuery>
- <!-- Enables/disables burst query prefetching. This flag is an override to the request hint provided
- by report server and the 'burst distribution service'. -->
- <burstPrefetch enabled="false">
- <!-- The maximum number of prefetched result sets that can be held
- at one time for a single burst report. While a query is processing a burst report
- the burst prefetching can, in the background, load this many result sets before stopping
- and waiting for the query to get an already prefetched result set. -->
- <maxResultSetPrefetch value="1"/>
- <!-- Minimum number of threads to initialize for burst prefetching. This number can grow
- to a maximum specified by max threads. -->
- <minThreads value="10"/>
- <!-- Maximum number of threads that will be available for burst prefetching.
- By default this is two times the minimum number of threads. -->
- <maxThreads value="20"/>
- <!-- In MB, the maximum number of bytes that a prefetched result set can cache -->
- <maxMemoryPerResultSet value="1"/>
- </burstPrefetch>
- <!-- Enabling this flag will set connection attributes on each prepare statement. This flag is
- equivalent to the <entry name=" DB2WFM" value="1"/> flag in the CQE config file.-->
- <setConnectionAttributes enabled="false"/>
- <!-- Emulates the optional Provider Cross Join feature from IBM Cognos BI releases prior to 10.2.1.
- Only consider enabling this setting if your reporting environment includes TM1 10.1 servers or older.
- The query engine manages performance settings automatically against TM1 10.1.1 and newer data sources. -->
- <!--useProviderCrossJoinThreshold value="10000"/-->
- <!-- Filler member functionality for TM1, set to true to enable -->
- <hierarchyUseFillerMember value="false"/>
- <!-- Controls whether eager or lazy loading is used for OData requests. -->
- <OData>
- <lazyLoading value="false"/>
- <!-- Sets the max size of HTTP GET responses in MB that would be processed.
- If set to '0' no limit will imposed and the response will be consumed in an incremental
- fashion directly from the HTTP Socket (which might lead to ConnectionReset issues when
- lazyLoading is set to "true" or to MemoryOverflow issues when lazyLoading is set to "false").
- If set to a negative value or to a value bigger than 1024MB then the limit will be set to
- its default value which is 16MB. -->
- <responseLimit value="16"/>
- </OData>
- <JSON>
- <!-- Determine the approach that the query engine should use in order to flatten the unstructured
- data coming from a JSON endpoint when local processing is involved.
- There only two acceptable/valid policies:
- 1. FOJ: Try to flatten the data using a full outer join (DEFAULT).
- 2. NLJ: Try to flatten the data using a nested loops join.
- If an invalid value is given as a policy, the query engine is going to ignore it
- setting the flattening policy to its default value.
- -->
- <flatteningPolicy value="FOJ"/>
- </JSON>
- <!-- Enable/disable vectorized query execution. -->
- <vectorizedQueryExecution enabled="true">
- <packages enabled="true"/>
- <modules enabled="true"/>
- </vectorizedQueryExecution>
- <flintServer enabled="true">
- <!-- IMPORTANT: DO NOT MODIFY THE FOLLOWING OPTIONS UNLESS YOU KNOW WHAT YOU ARE DOING AND WHAT IS THEIR IMPACT.
- MODIFYING ANY OF THOSE PROPERTIES REQUIRES RESTARTING QUERY SERVICE COMPONENT IN ORDER TO TAKE EFFECT.
- -->
- <!-- Enable this to have Flint server restart automatically when a configuration change is detected. -->
- <restartOnConfChange enabled="false"/>
- <!-- The host interface to bind Flint server to. The most secure option is "localhost", which prevent remote access. -->
- <host value="localhost"/>
- <!-- Port used by the Compute service. This will override the Compute Service port set using Cognos Configuration. -->
- <!--port value="0"/-->
- <!-- The minimum and maximum amount of memory (MB) to be allocated to Flint Server.
- Direct memory (off-heap) is used for Netty transport buffers. -->
- <memory minHeap="1024" maxHeap="8192" maxDirect="512"/>
- <!-- The number of Spark executors to be allocated to Flint Server for computational purposes. -->
- <!-- A value of "*" allocates one executor for each core detected on the machine. -->
- <sparkThreads value="*"/>
- <!-- The amount of Thrift workers receiving requests. -->
- <thriftWorkers min="5" max="1500"/>
- <!-- Uncomment to define extra java options to be passed to Flint Server process.
- To be used ONLY for DEBUGGING purposes.
- <extraJavaOptions value="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=9093,server=y,suspend=n"/> -->
- <!-- Uncomment to define extra Flint configuration properties to be passed to Flint server process.
- Keys and values a separated by '=' (equals), and eack key-value pair is delimited by ';' (semicolon).
- Whitespace between semi-column and the following key is ignored.
- <extraFlintConf>hello=world; foo=bar</extraFlintConf> -->
- <!-- loadingPolicy determines when Flint Server should be started. There are two policies:
- 1. eager: Flint Server would be started during the initialization process of query-service (non-blocking initialization).
- 2. lazy: Flint Server would be started only when the query-service determines Flint Server is needed in order to process a query.
- -->
- <loadingPolicy value="eager"/>
- <!-- flintConnectionsOnFlintNotRunningPolicy determines how query-service should be having upon processing queries that wait
- for Flint Server to load. There are three policies available:
- 1. fallback: If there is PQ V1 that can satisfy the query to be processed, fall to local processing against PQ V1.
- 2. error: If Flint Server is not up, make the query fail and prompt the user to retry later.
- 3. wait: If Flint Server is not up, block the query for a certain amount of time. If that amount has passed and Flint Server
- is not up, make the query fail, otherwise proceed with executing it against Flint Server.
-
- If somebody chooses the "fallback" option, but no PQ V1 exists, then query-engine will switch automatically to policy "error".
- -->
- <flintConnectionsOnFlintNotRunningPolicy value="fallback"/>
- <!-- The maximum wait time in seconds for Flint Connection when Flint Server is not running and
- flintConnectionsOnFlintNotRunningPolicy is set to "wait". Should be a positive number. -->
- <flintConnectionsMaxWaitTime value="11"/>
- <!-- The maximum interval in seconds to wait in order to allow Flint Server to start. If this interval is surpassed and Flint Server
- is not in running state, then we assume that Flint Server has failed to start. Query-Service is going to retry starting
- up Flint Server up until a max number of retryAttempts is being reached. Any positive value is accepted. -->
- <initInterval value="30"/>
- <!-- retryAttempts denotes the max number of attempts that query-service should perform in order to start Flint Server.
- Any non-negative value is accepted. -->
- <retryAttempts value="3"/>
- <!-- downInterval denotes the maximum amount of time in seconds that should be exceeded in order for query-service to determine
- that Flint Server is down and needs to be restarted. Any positive number is accepted. -->
- <downInterval value="4"/>
- <!-- The maximum amount of hours that Flint Server can be running without being used/leveraged from query-service. If this interval
- is being surpassed, then query-service is going to shutdown Flint Server in order to save resources. If "0" is being provided
- as a value, then Flint Server will be running up until query-service stops. -->
- <inactiveInterval value="0"/>
- <!-- Indicates whether xqe should do the lazy conversion of a legacy parquet file locally streaming rows to the Flint Server instance
- it is managing. If disabled, XQE should send a call to MOSER so as the later to perform the Parquet conversion.
- By default should be disabled. -->
- <lazyConversion enabled="false"/>
- <!-- Spark metrics. -->
- <metrics enabled="false">
- <!-- Expose JMX Beans via HTTP for Prometheus consumption. -->
- <jmxPrometheus enabled="false" port="9405"/>
- </metrics>
- <!-- Indicates the logical name of the Data Source that DQ should reserve when propagating query execution to Flint.
- The value chosen should be RESERVED (meaning that it should not be used by users in order to name other CM datasources). -->
- <logicalDataSourceName value="__flint__"/>
- <!-- Indicates whether DQ's sql level caching should be enabled or not when servicing Flint queries. Disabled by default. -->
- <cache sqlEnabled="false"/>
- <!-- When enabled, execution strategy is to serialize results to file. Otherwise, cursors are used to page results. -->
- <executeToSerializedFile enabled="true"/>
- <!-- Specifies the maximum amount of time in seconds that a query can run against Flint without being timed-out.
- A query times out when it has been handed to Flint and Flint took more than the queryTimeoutInterval time to complete.
- Default Value: 300secs (5mins). Negative values will be ignored. The upper bound is set to 3600secs (1 hour). -->
- <queryTimeoutInterval value="300"/>
- <!-- Specifies the maximum period of inactivity in seconds that does not cause eviction for datasets represented as
- relational tables in Flint.
- Default Value: 43200secs (12 hours). Lower bound is 3600secs (1 hour). Upper bound is 43200secs (12 hours). -->
- <datasetIdleSeconds value="43200"/>
- <!-- Specifies the maximum amount of cached managed datasets represented as relational tables in Flint.
- Default Value: 250. If set to non-positve number or to a value higher than Integer.MAX_VALUE then the number
- of managed datasets is unbounded. -->
- <managedDatasetsLimit value="250"/>
- </flintServer>
- </queryExecution>
- <Cancel>
- <!-- The iterate interval to check if the cancel is finished. -->
- <CancelIterationInterval value="1000"/>
- <!-- The maximum iterations to check if the cancel is finished. -->
- <CancelMaximumCheckIterations value="60"/>
- </Cancel>
- <memory>
- <!-- The percent of the free memory available for relational queries -->
- <managedPercent value="70"/>
- <!-- In MB, the maximum memory available for relational queries -->
- <maximum value="0"/>
- </memory>
- <health enabled="true">
- <!-- The minimum ratio of overall requests that query-service should process successfully so as to be deemed as healthy. -->
- <minSuccessRate value="0.6"/>
- <!-- The minimum number of overall requests that query-service needs to process in order "minSuccessRate" threshold to start taking effect. -->
- <minOverallRequests value="50"/>
- <!-- The minimum ratio of overall requests that query-service should process successfully the last minute so as to be deemed as healthy. -->
- <minSuccessRateMinute value="0.2"/>
- <!-- Maximum amount of times that query-service must not meet the minSuccessRateMinute condition so as to be deemed unhealthy. -->
- <maxConsecutiveTimesSuccessRateMinuteFailures value="5"/>
- </health>
- <!-- For the Operating System Tuning options, the os name is the Java System property os.name. -->
- <!-- To set the environment variables elsewhere, set override to false -->
- <environment override="true">
- <os name="AIX">
- <!-- Use malloc multiheap to improve performance running on multiprocessor systems. -->
- <envvar name="MALLOCOPTIONS" value="multiheap"/>
- <!-- Option to change malloc subsystem to enable automatic disclaiming of memory returned
- by the free subroutine. This may be useful in instances where a process has high paging-space
- usage, but is not actually using the memory. Using this option may have performance
- implications. To use malloc disclaim: comment out the envvar above and uncomment the
- envvar lines below.
- <envvar name="MALLOCOPTIONS" value="disclaim"/>
- <envvar name="MALLOCDISCLAIM" value="true"/> -->
- <envvar name="AIXTHREAD_SCOPE" value="S"/>
- <envvar name="SPINLOOPTIME" value="4000"/>
- <envvar name="YIELDLOOPTIME" value="20"/>
- </os>
- <os name="SunOS">
- <envvar name="LD_PRELOAD_64" value="/usr/lib/64/libumem.so:/usr/lib/64/libCstd.so.1"/>
- </os>
- <os name="z/OS">
- <envvar name="IBM_JAVA_OPTIONS" value="-Dfile.encoding=ISO8859-1 -Xnoargsconversion"/>
- </os>
- </environment>
- <jvm>
- <!-- The compressedrefs options will only be applied for a 64-bit JVM with less than max memory in MB -->
- <!-- The java6 options are only applied against a Java 6 JVM. -->
- <!-- NOTE: Because of a bug in the apachee parser, any ',' part of the 'options' should be replaced by '^'s.
- i.e.: -Xdump:heap:events=throw,filter=java.util.ConcurrentModificationException becomes
- -Xdump:heap:events=throw^filter=java.util.ConcurrentModificationException -->
- <vendor name="all" options="-server"/>
- <vendor name="IBM Corporation"
- options="-Xscmx100m -Xshareclasses:cachedir=../javasharedresources^name=cognos10%u^nonfatal -Xmso512K -XX:+HeapManagementMXBeanCompatibility -Xjit:dontInline={gnu/trove/*}^{gnu/trove/*}(disableLoopVersioner) -Dcom.ibm.jsse2.overrideDefaultTLS=true"
- compressedrefs="-Xcompressedrefs" max="27000"
- />
- <vendor name="Sun Microsystems Inc."
- options="-XX:+DoEscapeAnalysis"
- compressedrefs="-XX:+UseCompressedOops" max="27000"
- />
- <vendor name="Oracle Corporation"
- options="-XX:+DoEscapeAnalysis"
- compressedrefs="-XX:+UseCompressedOops" max="27000"
- />
- <vendor name="Hewlett-Packard Co."
- options="-XX:+DoEscapeAnalysis"
- />
- </jvm>
- </XQEConfiguration>
|