Overview: HANA 2.0 is having XSA as base for many application like HANA cockpit, WEB IDE, Big Data Hub to name a few. You are lucky if you get it through for installation but sometimes you are stuck with few issues which you keep trying to solve , you don find solution. This Blog identifies and help you solve few of them.
Getting a guide is very easy. But troubleshooting in real world might make your head spin. So sharing my experience.
XX will represent the instance no. used in this blog.
- Adding role ‘xs_worker’ failed:
Check /var/tmp latest update folder and it will mention the file name which contains more details. It should be with name like hdbmodify_addlocalroles.log. and
Reason: FAIL: process hdbxscontroller HDB XS Controller not running
Sub Reason: Could not startup the controller components: SAP WebDispatcher failed to bind application port (already occupied). Route to application will be unavailable. Restarting the application may solve the issue.
xscontroller.out: FAILED to start: Could not startup the controller components: SAP WebDispatcher failed to bind application port (al
ready occupied). Route to application will be unavailable. Restarting the application may solve the issue.
Solution: Clearly xscontroller is not up and hence webdispatcher can’t bind.
- Try to find out the port using netstat -a|grep 3XX29 where xx is the instance no. If you find the port being used by some random process, you can kill the process , try to start XScontroller again (using HANA studio or CLI) and proceed
- sometime you don find any port used , in that case ,you can restart the entire application and try to start xscontroller again.
- if 2nd does not work, you can try to kill all processes after shutting down HANA system, and then try to restart xscontroller using HDB start. sometime sapcontrol -d -nr XX -function StartSystem.
2. com.sap.xs2rt.installation.util.InstallationException: Error during serviceBrokerClient.getServiceBrokers() UAA’s check_token() endpoint was called with invalid credentials. Could be a clientsecret mismatch
Reason: Such issue can occur when previous installation is not successful or credentials are mismatched
Solution: Remove previous installation/upgrade of XSA. using below steps:
- Remove xs roles using hdblcm from installation directory 9/hana/shared/<SID>/hdblcm) which can be different as per customer.
- uninstall XS component using hdblcm from same directory, but only xsa component, not entire DB or HDB client or something.
- Restart the installation/upgrade. it will work
3. /installation/update-content: Cannot upload the data.
Reason: There can be 2 reasons
- Network might be intermittently unavailable
- zip or other extract utility missing from store. (zypper or yum or other depending on your OS)
- Authorization issue/ownership issue.
- Make sure network is available , no DNS/Hostname etc issue should cause installation/upgrade to stop.
- install the zip or extract utility used by installer.
- make sure authorization and ownership do not cause the halt of installation.
4. Update not starting : unhandled exception: Can’t call method “getManifest” on unblessed reference at LCM/Utils/ComponentActionStringGenerator/InstallUpdate.pm line 109.
Reason: There are some files pending from where the ./hdblcm is getting information about previous attempt of update/installation.
Solution: Usually there will be xml available in installation directory where hdblcm resides.
files might be like hdblcm.update or hdm.pid . It does not matter where are you running it from. But you will find such flles always in installation directory
Will keep posting more in case faced some issues further , of course with resolutions.
XSA is quite tricky and when it comes to troubleshooting , there is not one place you can find the logs:
- cdtrace->/usr/sap/<SID>/HDB<nr>/<hostname>/trace and ls -lart , XS related stuff can be found in xsexeagent_0.log, xsuaaserver.out,uaa.log,xscontroller.out,hdbxscontroller_audit.log etc.
- /hana/shared/<SID>/xs under this directory (/hana/shared/<SID>/xs/controller_data/controller/router/webdispatcher). routing details can be found along with logs.
- if you are updating/installing you can find more details in /var/tmp and latest files. That is hopefully known to all.