================================================================================ Oracle Endeca Server GENERAL (7.7.0) - Release Date: January 2016 - This release is not compatible with data indexed using previous releases. - The release notes may have been updated since the release date. Access the Oracle Documentation page at http://docs.oracle.com for the most recent version of the release notes. INSTALLATION (7.7.0) - See the "Oracle Endeca Server Installation Guide" for installation information. MIGRATION (7.7.0) - See the "Oracle Endeca Server Migration Guide" for information on migrating to this release. BUG FIXES (7.7.0) * EDPROC-1771: Provides the ability for the Endeca Server to run in a WebLogic domain that has been configured for Oracle Java 7. Running Java 7 also helps prevent problems when using SSL for Studio and the Provisioning Server. In addition, an updated version of the Linux orchestration script is provided. This version checks that Oracle Java 7 is being used, and throws an error if an earlier version (such as Java 6) is used. * ES-5: Fixes a problem where cache warming uses creation time to decide whether the query under condsideration would finish within the allotted time limit. However, creation time does not account for the parallelism that a query may or may not get, which sometimes results in the cache warming job not replaying really expensive queries. The problem fix is to not use creation time to decide what NOT to play during cache warming. * ES-8: Introduces a new EQL function, CountDistinctMembers, which is used only for multi-assign attributes. In addition, improves Dgraph performance for set aggregators (such as the SET_UNIONS function) by reducing the number of memory allocation calls in set operations. * ES-9: To facilitate the restore of data domains, a .profile file will be associated with each new data domain and stored in the index of the data domain. The file will be created when the data domain is created and will be updated when the data domain is updated. The file contains the profile's configuration with which the data domain was created. When the data domain is exported, the .profile file will also be exported. Note that when importing a data domain with .profile file, users do not need to provide the data domain profile name. Instead, the .profile file is used to create the new data domain. * ES-12: Previously, if a batch of records to be ingested contained a record with invalid XML characters, the entire batch of records would be rejected (including records with valid data). Now, instead of rejecting the whole batch of records being ingested, the Dgraph only rejects the individual records with invalid data. In addition, information is returned as to why the record was rejected. * ES-14: Provides a pererformance improvement via the canonicalization of cache keys for result caching so as to improve cache hit-rate. * ES-16: Fixes a problem where the Endeca Server could crash when sorting a specific item from the Results Table. * ES-20: This fix enables the cloning of a read-only data domain. Previously, you could not clone a read-only data domain because Endeca Server would try to assign a leader role to the newly-cloned data domain and the attempt would fail because read-only data domains cannot be leaders. Now, Endeca Server checks the read-only property of the data domain, which prevents the leader assignment attempt. * ES-22: Fixes a problem where the Cluster Coordinator creates transaction logs and snapshots too fast, which results in too much disk space used. In some cases, a disk full may result in Cluster Coordinator data being incorrect and the Cluster Coordinator cannot recover. This fix has an upgraded version of the Cluster Coordinator that has an automatic log and snapshot clean-up feature, which is enabled by default. The fix introduces two properties to EndecaServer.properties that are used to configure the Cluster Coordinator log and snapshot clean-up feature: - endeca-cluster-coordinator-auto-purge-snap-retain-count sets the number of snapshots to retain in the Cluster Coordinator dataDir, and is set to 3 as the default. - endeca-cluster-coordinator-auto-purge-interval sets the purge task interval in hours, and is set to 1 as the default. Set to 0 (zero) to disable the auto purge feature. * ES-29: Fixes an issue where the Dgraph could crash after an attribute was added to a View and then a text search was run in Studio. * ESERVER-1351: Fixes an internal Dgraph problem where a segmentation violation (segfault) could occur when the Dgraph was creating a lock while re-registering resources. * ESERVER-1366: Fixes a problem where it was possible for the DGraph to enter an infinite loop and deadlock many cluster processes during its catchup phase. With this fix, the Dgraph will try to catch up to the request number specified by the Cluster Coordinator at most a finite number of times. * ESERVER-1496: Adds support for managed attributes for the EQL function, CountDistinctMembers, that was introduced in ES-8. * ESERVER-1701: Fixes a security vulnerability that has been reported publicly against SSL V3.0 under CVE-2014-3566 (Padding Oracle On Downgraded Legacy Encryption, or "Poodle Vulnerability"). The fix consists of disabling SSLv3 on Endeca Server and the Dgraph. * ESERVER-1857: Fixes an issue where if a transaction rollback fails, the Dgraph can enter into an inconsistent state during which subsequent ingest operations will fail. * ESERVER-1865: Fixes a problem where if a number of follower Dgraphs are started at the same time, a few of them will fail to start up. * ESERVER-1980: Fixes a bug in which if the file reaper fails to delete a file because the file does not exist, the file reaper still pushes the file into a list of files to retry deleting. * ESERVER-2149: Removes unnecessary trace calls that could cause a degradation in certain Dgraph operations, such as ingest operations. * ESERVER-2199: Fixes a problem where the Dgraph could terminate abnormally during a shutdown in certain conditions. * ESERVER-2254: Fixes a problem where the Dgraph does not release leader and writer locks when promotion fails. * ESERVER-2255: Fixes a problem where the Dgraph behaves improperly or segfaults when cluster-releated admin operations are sent in stand-alone mode. * ESERVER-2256: Updates the outdated messages that the Dgraph prints upon failure to start up. * ESERVER-2257: Fixes a problem where when the Cluster Coordinator goes down, the leader and follower Dgraphs may deadlock and go down respectively. * ESERVER-2259: Improves Dgraph session caching in the Cluster Coordinator connections. * ESERVER-2260: Fixes a problem where if the Language element in a DIWS request was set to a supported non-English language, an EQL error message would be returned in English instead of the specified non-English language. * ESERVER-2265: Fixes a problem where a Dgraph triggers Cluster Coordinator-reliant callbacks while disconnected from the Cluster Coordinator. * ESERVER-2266: Fixes a problem in EQL, in which use of the set-membership operator (x IN {1, 2, 3}) could lead to unexpected results in certain cases. * ESERVER-2287: Fixes a problem where a Dgraph that was formerly a leader holds onto old generation files after being demoted. * ESERVER-2472: Previously, if a Dgraph index contained a corrupted version file, the cluster was unable to update those indexes at all. Now, the cluster removes the corrupted version file and resumes updating the indexes from the last stable version. * ESERVER-2658: Previously, the leader Dgraph called for followers to catch up whenever it updated spelling dictionaries, even when the outer transaction has not been committed, and there is no version file. Now, the leader Dgraph only calls for followers to catch up after update spelling dictionaries if the update spelling dictionaries request is not part of an outer transaction. * ESERVER-2669: Previously, the Dgraph failed to catch up if a version with a spelling dctionary has been released by the datalayer maanger but is still being held by some other component. Now, the inability to create a reference to spelling dictionary files is unrelated to the current version, which no longer blocks the catch-up operation. * ESERVER-2768: This fix removes the requirement that the Dgraph be a leader when Manager::rollbackTo is called, so that if an update fails due to a ZooKeeper session expiry, the Dgraph will still be able to revert to a stable version. Note that removing the requirement is permissible because the rollback does not change what files exist on disk, and the writelock in the method prevents re-promotion until the rollback is finished. Also, if the rollback transaction webservice is called, the webservice will fail unless the Dgraph has the particular outer transaction open, and the Dgraph will not have an open outer transaction if it is not a leader. * ESERVER-2769: Fixes a race condition in which the Dgraph can mistakenly believe that a ZooKeeper operation has succeeded even when the Dgraph is not connected to ZooKeeper. * ESERVER-2722: OpenSSL has been upgraded to version OpenSSL 1.0.1Q. * LCORE-1410: Fixes a problem where if an extract terms enrichment is run on an empty attribute, the enrichment never completes. A check has been added to see if the input data set is empty; if it is, end the task. * LCORE-1434: Fixes a problem where the enrichments module would generate a Data Ingest service updateRecords call for every record, even when there was nothing to do for that record. This could result in a large number of no-op (empty) updates. * LCORE-1606: Fixes an Endeca Server caching problem by allowing the SConfig listEntities operation to return the contents of the cache without attempting to proactively update the cache. The contents of the cache are now refreshed only via Conversation Service queries. Note that if you create a new entity, it will appear in a subsequent listEntities call only if you first issue a Conversation Service query to refresh the cache. * LCORE-1613: Improves the performance of SConfig validateEntity and validateEntities calls by avoiding updating the Endeca Server cache and using information from the Dgraph to validate against and to only validate the entities provided in the request. In addition, provides support for an EndecaServer.properties property that determines if entity validation should occur during cache refreshes. The name of the property is endeca-disable-entity-validation-refresh and is set to either true or false. * LCORE-1666: Provides support for a geocode sort key in the Conversation Service's RecordListConfig type. The new GeocodeReferencePoint element lets you specify latitude and longitude values that serve as the geocode reference point. Records with geocode assignments are returned sorted according to their distance from the geocode reference point. You can also specify an Ascending sort (the default) or a Descending sort direction for the sort key. * LCORE-1698, LCORE-1700: Provides a solution to the problem with hostname resolution on a host that has multiple network interfaces. Previously, there was no way for users to specify which interface Endeca Server was binding to. This fix enables Endeca Server to read and honor WebLogic's Listen Address setting. * LCORE-1708: Provides a solution to the problem with the server failing to respond while searching for terms in the Japanese language. KNOWN ISSUES (7.7.0) * None ===============================================================================