Sap Note : 2193110
Please refer to the SAP HANA Revision and Maintenance Strategy document on SAP Service Marketplace for an overview regarding the SAP HANA revision and maintenance strategy.
For details about the SAP HANA revision and maintenance strategy and recommended upgrade paths between SAP HANA Revisions, Support Package Stacks, Maintenance Revisions and Datacenter Service Points, see “SAP Note 2021789: SAP HANA Revision and Maintenance Strategy“.
2233148 – SAP HANA SPS 11 Database Revision 110
2265765 – SAP HANA SPS 11 Database Revision 111
2257500 – SAP HANA SPS 10 Database Maintenance Revision 102.04
2242726 – SAP HANA SPS 10 Database Maintenance Revision 102.03
2220948 – SAP HANA SPS 10 Database Maintenance Revision 102.01
2220929 – SAP HANA SPS 09 Database Maintenance
Please refer also to the following SAP Notes:
- 2165826: SAP HANA Platform SPS 10 Release Note
This is the central entry point for all information around SAP HANA Platform Support Package Stack (SPS 10), the comprised SAP HANA Revisions and subsequent SAP HANA Maintenance Revisions. - Before downloading a SAP HANA Platform SPS 10 revision please check out SAP Note 2184635: SAP HANA SPS 10 – Download procedure for SAP HANA database component.
Please note the following:
- If you upgrade to this Revision and you’re using SAP BW on HANA, please check the ABAP-related notes which can be found in the attachments of this note.
Installation/Upgrade
- Before you start the upgrade from Revision 64, 65, and 66. Please check out SAP Hot News Note 1918267.
- As part of the installation or the upgrade to Revision 101 or higher the master key of the secure store in the file system (SSFS) is changed from the initial default key to an installation specific individual key. Please checkout SAP Note 2183624. To change the master key of SSFS of the hdbuserstore please additional check out Note 2210637.
- Please check “SAP Note 1948334 : SAP HANA Database Update Paths for Maintenance Revisions” for the possible update paths from Maintenance Revisions to SPS Revisions.
- If you upgrade from a Revision prior to SPS 06, first upgrade your system to the latest SPS 06 Revision (Revision 69.07) before upgrading to this Revision.
- If you encounter a problem during the upgrade phase “Importing Delivery Units”, please check out SAP Note 1795885.
- If you are using SAP HANA live, please check Release Note 1778607 before you start upgrading to SPS 10.
- Before you start the upgrade to this Revision, please check out SAP Note 2159899 – Release Notes for SAP HANA Application Lifecycle Management for SAP HANA SPS 10.
- In order to run the SAP HANA Database Revision 80 (or higher) on SLES 11, additional operating system software packages are required.
Before you start the upgrade or the installation of Revision 80 or higher, please check out SAP Note 2001528. - If the SAP HANA installation or one of its AFL plugins fails, please check out SAP Note 2183500
- If you encounter the problem: HALM Process Engine: Data cannot be updated alert message, please check out SAP Note 2184376.
- If you get the issue that the Win8 HANA studio upgrade via update site failed, please check out SAP Note 2182779.
- Troubleshooting guide for the SAP HANA platform lifecycle management tool hdblcm. Please checkout SAP Note 2078425.
Most frequently Used Commands For SAP HANA Administrators –Link
General
- With SAP HANA SPS 09, several inconsistencies in handling the data types double / float have been fixed. This leads to a change in the string representation of float / double data types. Please check out SAP Note 2092868.
- With SAP HANA SPS 09, several inconsistencies in handling the data types double / float have been fixed. This leads to a change in the string representation of float / double data types and may cause inconsistencies in concat attributes (such as primary keys, unique constraints) that contain float / double data type columns. Please check out SAP Note 2104798.
- As of Revision 93 the Embedded Statistics Server is the default setting. If you still running the old statistics server, the upgrade triggers the migration to the Embedded Statistics Server automatically. Please check out SAP Note 2091313 : HANA Statistics Server – changed standard setting of the statistics server as of Revision 94.
- Please note that when the Embedded Statistics Server is used, some program changes are required in the ABAP monitoring tools. See SAP Note 1925684 for details.
- If the recovery of data without using the backup catalog fails with incorrect syntax near “USING”, please check out SAP Note 2157184.
- If you are using SAP Web Dispatcher as the HTTP load balancer, additional configuration is required. Please see SAP Note 2146931 for details.
- If you have problems creating or modifying a user in the SAP HANA web-based development workbench, please check out SAP Note 2183760.
- If you are using the SAP HANA cockpit delivery unit “HANA_ADMIN Version 1.3.9”, the start, killing, and stopping of services do not work properly, even if successfully reported. Please check out SAP Note 2182831.
- Please note that the virtual table function is currently not supported on multitenant databases. Please check out SAP Note 2182597.
- The version of libnuma1 (library for Non-Uniform Memory Access) delivered with SLES 11 SP1 up to version libnuma1-2.0.3-0.4.3 contains a bug which causes the name server to crash. Please check out SAP Note 2132504.
- You can find information about SHINE (SAP HANA Interactive Education) demo content in SAP Note 1934114.
- You can find documentation corrections information for the SAP HANA option Advanced Data Processing in SAP Note 2183605.
- Introduced a new security feature to configure if the SYSTEM user is locked due to too many failed connect attempts.
The new parameter “password_lock_for_system_user” in section [password_policy] of file indexserver.ini (or nameserver.ini for the system database of a multiple-container system) has value “true”, which means the SYSTEM user will be locked for <password_lock_time> after <maximum_invalid_connect_attempts> failed attempts. To keep the old, unsafe behaviour, set parameter “password_lock_for_system_user” to “false” (not recommended). - Introduced a new feature to configure error messages for invalid connect attempts.
The new parameter “detailed_error_on_connect” in section [password_policy] of file indexserver.ini (or nameserver.ini for the system database of a multiple-container system) has value “false”, which means only the information “authentication failed” will be returned in such a case. If set to “true” (not recommended), the specific reason for failed logon is returned.
Other Terms
NewDB, in-memory database, Hybrid database, update, installation, SPS 10
Reason and Prerequisites
- Running the installation and the update is only supported on a validated SAP HANA appliance and SAP HANA Tailored Datacenter Integration setup.
Solution
If you upgrade from a lower SAP HANA SPS, it is recommended to update ALL other components (Studio, Modeler, DB Clients, DBSL, SLT, DS, …) to at least the minimal version of SAP HANA SPS 10.
Documentation
- See SAP Help Portal at http://help.sap.com/hana_platform for the complete SAP HANA product documentation set.
Installation and Update
- For the installation of the SAP HANA client on SUSE Linux Enterprise Server 9 and 10, use the package “Linux SUSE 9 on x86_64 64bit”.
- Fixed a problem with the Hardware Check Tool (HCCT) that could have caused VMware-virtualized systems to hang or report inconsistent data (hyperthreading was deactivated even if it had been activated).
For more information, see SAP Note 2161344.
Issues solved with this revision
Backup & Recovery
- Fixed an issue that caused tenants to be recovered on an arbitrary host instead on the host they were created on.
BW/OLAP
- Fixed an issue in Epsilon Reaction in order to adapt the BW disaggregation behaviour.
- Fixed a bug which could lead to an indexserver crash during out of memory situations.
In indexserver crashdump contained the following call stack:
“[CRASH_STACK] Stacktrace of crash: (0000-00-00 00:00:00 000 Local)
—-> Symbolic stack backtrace <—-
0: Evaluator::StackVector<Evaluator::ExpressionTree::McpStackEntry, 64ul>::enlarge(unsigned long) + 0x5c
1: Evaluator::ExpressionTree::mergeCommonParts() + 0xa05
2: AttributeEngine::Evaluator::compile() + 0x349”.
Database Client
- Fixed an issue in the SQLDBC client which caused ABAP application servers to connect to the wrong host after a HANA master node restart or indexserver crash, leading to the error: Connect failed (no reachable host left).
- Fixed an issue on the HANA client when DEFERRED_LOB_WRITING were used, which could lead to a short dump on application side with the error message: “SQL code: -9300” occurred while accessing table <table_name>. Please refer to SAP Note 2205345 for details.
- Fixed an issue in HANA ODBC driver that when using ADO call “SQLGetData” with a 0-length buffer to determine the length, the driver did not return a truncation warning because there was no room in the buffer for the NULLCHAR.
- Fixed an issue in the HANA ADO.net driver that IListSource.ContainsListCollection did not match the MSDN documentation. After the fix the property will always returns false since the HanaDataReader does not return a collection of IList objects.
- Fixed an issue where connections failed to connect when using Kerberos SSO to authenticate users through the SAP HANA MDX driver.
Data Provisioning
- Fixed the table type of extended storage tables which could return CREATE ROW TABLE even if CREATE COLUMN TABLE <table_name> USING EXTENDED STORAGE was used.
Database Client
- Corrected a client bug that prevented a receive timeout after the configured CONNECTIONTIMEOUT threshold.
High Availability
- Fixed an issue where the takeover flag was not removed from the topolgy (/topology/datacenters/takeover/*), when a takeover was performed on a secondary system where not all tenants could be taken over (e.g. because they were not initialized yet).
- Fixed a crash that could occur in a secondary site of system replication in combination with Live Cache.
The crash stack was as follows:
“1: TransactionManager::TransactionControlBlockSPI::precommit
2: DataAccess::ReplicationProtocolSecondaryHandler::createTCBforRestartSessions
3: DataAccess::ReplicationProtocolSecondaryHandler::buildOpenSessionList
4: DataAccess::ReplicationProtocolSecondaryHandler::preloadTables”. - Fixed the issue that takeover to the standby node did not happen and the landscape was broken until a failed host was working again when a tenant catalog master was not located on the master node and a none master node failed in a MultiDB scenario.
Languages (SQL Script, R, River)
- Fixed an issue that prevented a table variable within a cursor to be passed directly.
- Fixed a regression bug in the SQLScript parser tht could occur an array index position was referenced with a variable value in the WHERE clause of a SQL statement, like:
“lArray bigint array;
v_index int;
lArray[1]:=1;
v_index :=1;
select * from dummy where :lArray [:v_index]=1;”
This caused the following error: “incorrect syntax near “)” “.
MDX
- Fixed an issue in SAP HANA MDX where the members could have unexpected results when they were not requested according to their hierarchy order.
- Fixed an issue in HANA MDX when filters on parent-child hierarchy for non-leaf members were used.
- Optimized the performance and memory consumption of HANA MDX for property lookups that could involve expensive join operations.
- Fixed a bug that caused an MDX query on an analytical view with hierarchies to fail with the following error:
“SQL: feature not supported: not allowed over OLAP VIEW : search without aggregation, grouping by expression other than view column or user defined function with string type”.
Security
- Fixed a role performance issue for GRANT.
Supportability
- Fixed a bug where SAP HANA studio could not correctly display the thread overview and session overview monitor.
This was caused by invalid characters in the monitoring view M_CONNECTIONS.
Selecting this view resulted in the error message “invalid character encoding”.
Text search
- Fixed an issue where preprocessor threads would hang and never complete with the following call stack:
“1: SAP::TextAnalysis::DocumentAnalysis::StructureAnalysis::NormalizationBuffer::addChar
2: SAP::TextAnalysis::DocumentAnalysis::StructureAnalysis::XMLTextParser::insertBlankLine
3: SAP::TextAnalysis::DocumentAnalysis::StructureAnalysis::XMLTextParser::startElement”.
XS Engine
- Fixed an issue where the XS engine caused continuous memory growth in Pool/SQLScript/Execution allocator.
- Fixed an issue, where it was not possible to add an Identity Provider via Internet Explorer or Firefox.
Additional information is provided in SAP Note 2169923.
- Fixed an issue with the password recovery functionality using a profile to see the security questions.
General
- Fixed an issue that could cause an indexserver crash with null string handling, showing the following start to the callstack:
“1: expr::(anonymous namespace)::LCodeArgumentWrapper::~LCodeArgumentWrapper()
2: expr::Evaluator::Dispatch<46>()”. - Fixed an indexserver crash. The error stack was: ptime::NBaseString:_clone.
- Fixed an issue that could cause a corruption leading to a crash with the following crashstack during table access:
“exception 1: no.1000000
Orphaned timestamp TS[tcbidx=2147483647,ssn=any]; $condition$=tcb
1: TransactionManager::TransactionControlBlockFactory::getTimestampState
2: TransactionManager::ConsistentView::isTransactionCommitted
3: TransactionManager::ConsistentView::isTimestampRangeVisible
4: DataContainer::FileIDMapping::isVisible”. - Fixed a bug where the Table Consistency Check could consume too much memory and result in a OOM situation and a performance problem.
- Improved performance for inserts into global temporary column tables.
- Fixed an indexserver crash with the following call stack:
“joinEvaluator::SearchAlgorithm::expand()”. - Fixed an issue in NUMA awareness. The issue was visible with the following trace message, but did not harm the system:
“libnuma: Error: mbind: Invalid argument”. - Fixed an issue with delta merge handling, which could have resulted in high amount of no longer needed UDIV/MVCC data in the main memory of column store attributes not being released, even if the number of rows in the main-memory was not high.
- Fixed a crash by terminating the corresponding SQL statement instead of crashing the indexserver. The corresponding call stack was the following:
“1:MemoryManager::BigBlockAllocator::addFreeBlock()”. - Reduced compilation time for SQL statements with large/complex expression lists.
Most of the time was spend in the check for duplicate aggregation using trex expression. - Fixed insufficient performance for SELECT queries on SYS.GRANTED_PRIVILEGES.
- Fixed an out of memory situation that could occur when a primary key or a secondary index on existing, large column store tables was created. A typical scenario where this could have happened was a part of a data migration.
- Fixed an issue where an UPDATE statement would result in the following runtime error:
“SAP DBTech JDBC: [3]: fatal error: ColDicVal (1000001,4) not found”. - Fixed a crash that could occur when performing an UPDATE FROM. The crashdump contained:
“1: ptime::Qc2QoConverter::make_rid_field()
2: ptime::Qc2QoConverter::convert_relation_project_record()”. - Fixed a bug which could lead to obsolete memory and cpu resource consumption baused by a query on the calculation model because a stacked qoPop was generated.
- Fixed the inconsistent status of the result view of procedures after an upgrade.
- Fixed an issue that original snapshots failed and inconsistencies were reported when the snapshot directory was cleared incorrectly after a snapshot was opened for secondary.
- Reduced CPU usage on function calls like “JoinEvaluator jeReadIndex” or “SQL optimizer estimations (prefetchSampleData)”. Kernel Profiler traces revealed that a high amount of CPU time was spent on “generateOLAPBitmapMVCC”.
- Fixed an issue in the XS Job Dashboard that did not allow to add parameter values including a “:” to a schedule.
- Fixed an issue in the XS Job Dashboard that preveted show schedules for jobs that are referencing .hdbprocedure objects from being shown.
- Fixed a bug that allowed invalid date values to be inserted into HANA tables. These values could lead to the error
“AttributeStoreFile error ‘TABLEattribute_204.bin’: attribute value is not a date or wrong syntax; failed with rc 6931”
when loading the table subsequently. - Fixed a crash that could occur when a query was run against a calcview.
The crash stack was as follows:
“—-> Symbolic stack backtrace <—-
0: OlapEngine::BwDocids::prepareMdDocIdsForMain()
1: OlapEngine::BwDocids::getDocids()
2: OlapEngine::BwPopJoin12::executePop”. - Fixed a crash with the following call stack:
“[CRASH_STACK] stacktrace of crash: (0000-00-00 11:11:11 111 Local)
—-> Pending exceptions (possible root cause) <—-
exception 1: no.1000000 (Basis/Container/SafePointer.hpp:91)
Assertion failed: (oldValue & RESET_BIT) == 0
exception throw location:
1: 0x00007fbb97499c38 in Container::SafePointerHolder<ptime::Statement>::reset()
2: 0x00007fbb974fb53b in ptime::EntryStatementInfo::set
3: 0x00007fbb974fb592 in ptime::Connection::setEntryStatement_
4: 0x00007fbb97521bfa in ptime::EntryStatementScope::reset()
5: 0x00007fbb97537dc1 in ptime::Statement::compile_”. - Fixed an issue that caused an error during query execution when analytic views with join engine deployment were involved.
The error was as follows:
“column store error: search table error: [34051] Error during plan execution;Cannot find column DISCOUNT_AMOUNT$sum$ in input itab”. - Fixed a performance issue caused by slow filtering on DDIC_NUMC fields due to non optimized search method was used.
- Fixed a bug which caused an indexserver crash when SQLScript procedures with DDL statements were called in parallel.
The following assertion could be found in the crashdump:
“Pure virtual function called, block=MemoryBlock “block”: Deallocated block …
1: __cxa_pure_virtual
2: TRexCommonObjects::InternalTableBase::size() const
3: ptime::Query::Plan::clear_temp_indexes()”. - Fixed an indexserver crash that was triggered by a query on top of a calculation view. The crash stack contained the following entries:
2ptime::qo_Exp::clone_subtree
ptime::qo_Normalizer::getExpForPlaceholders
TrexCalculationEngine::QueryEntryToQoTranslator::getExpFromQueryEntryConstVal
TrexCalculationEngine::QueryEntryToQoTranslator::translateTerm
TrexCalculationEngine::QueryEntryToQoTranslator::translateQueryEntry
TrexCalculationEngine::QueryEntryToQoTranslator::translate
TrexCalculationEngine::ceQOBuilder::buildPostFilter
TrexCalculationEngine::ceQOBuilder::buildNode
TrexCalculationEngine::ceQOBuilder::build
TrexCalculationEngine::ceQOExecutor::execute
TrexCalculationEngine::ceQoPop::executePopInternal
TrexCalculationEngine::ceQoPop::executePop”. - Fixed the crash caused by the query that used GROUPING SETS over UNION ALL on OLAP views.
- Fixed an out of memory issue when a prepared “like” filter was used.
- Fixed a bug that prevented query execution with an error such as:
2qo_col_dic.cc(00550) : Error in the generated plan. DicVal(1000020,3) not found”. - Fixed a bug in the modeler that caused the properties to be generated only for the first hierarchy defined
- Fixed a crash with the following call stack:
“1: 0x00007fddaa81e6e9 in AttributeEngine::BTreeAttribute<TrexTypes::IntAttributeValue>::bwGetValueIdsFromValues()”. - Fixed an issue in the area of data aging which could lead to incorrect results returned from a SELECT query with WHERE conditions on key attributes.
Please refer to SAP Note 2206359 for details. - Fixed a bug in the OLAP engine that could have resulted in the column store error:
“search table error: [2620] executor: plan operation failed;GroupByColumnSetter skip,BwPopJoin1Inwards”. - Improved tracing to analyze the error 2434: “join index inconsistent; Invalid schema: Invalid table for index”.
- Introduced a proper error message when the default schema specified in the JDBC connection string does not exist.
- Fixed an indexserver crash with the following call stack:
“[CRASH_STACK] Stacktrace of crash: ()
—-> Symbolic stack backtrace <—-
0: qo3::OptimizerImpl::initializeInListNode()
1: bool qo3::OptimizerImpl::initialTree<TRexCommonObjects::QueryEntry>()
2: qo3::OptimizerImpl::prepare()
3: qo3::Optimizer::prepare()”. - Tables containing colums with string-like types (VARCHAR, NVARCHAR, VARBINARY), where all the data in these columns is of the same length, could take long to merge due to suboptimal coding. The coding has been improved and merges are now fast.
- Removed incorrect/ignorable trace entries related to metadata handling. These could have resulted in index server trace file entries during startup like:
“catalog.cc(04301) : [OID] wrong oid is set from objectinfo – oid :72057594044083712”. - Fixed the “fatal error: ColDicVal (0,0) not found” error, which was caused by wrong column information being generated for column aggregation during query plan generation.
- Improved the startup time of the index server service when many in-memory sequences needed to be initialized with new startup values.
Runtime dumps showed that a lot of “time was spent on calls like:
ptime::SequenceManager::getResetValue()
ptime::SequenceManager::restart()
ptime::SequenceManager::resetSequences()”. - Fixed a bug which could have resulted in JobWorker threads hanging endlessly while executing thread method “HashDict worker” and waiting on “conditional variable” wait. The parent SQL Executer thread / connection could not be canceled. The call stack of the hang JobWorker threads looked like:
“1: syscall+0x15 (libc.so.6)
2: Synchronization::CondVariable::wait()
3: TRexUtils::Parallel::__indexHash<IndexHash<TrexTypes::StringAttributeValue>…
4: TRexUtils::Parallel::__indexHash<IndexHash<TrexTypes::StringAttributeValue>…
5: TRexUtils::Parallel::JobBase::run()
6: Execution::JobObjectImpl::run()
This hang only happened when the corresponding SQL statement was running into an OOM before by running either into GAL or a user defined statement memory limit”. - Crash in Execution::JobWorker::enterWait: Fix avoids false detection of sysWaiting worker threads when there’s lock contention
between setting this flag and actually calling the run method, for example transaction handling. - TrexViaDbsl: rethrow caught exceptions. An OLAP query leads to metadata inconsistency. If the TrexViaDbsl does not ignore
the caught exception, commit will not be issued, and the metadata will not be corrupted.
TrexViaDbsl continues to catch exceptions in order to write error messages in trace file, but throws them again now. - Fixed a sporadic crash when using Smart Data Access and it attempts to create an attribute definition for a rowid column. The crashstack will contain, “ptime::FederationQuery::convertCIStoITab”.
References
This document refers to:
SAP Notes