Oracle Endeca Forge Failed but with no logs

Sometimes when you execute your baseline update, Forge fails and produces no logs.

[06.28.13 11:34:01] SEVERE: Batch component 'Forge' failed. Refer to component logs in /data/endeca/apps/usapseattlesmall/./logs/forges/Forge on host ITLHost.
Occurred while executing line 23 of valid BeanShell script:

20|
21| // archive logs and run ITL
22| Forge.archiveLogDir();
23| Forge.run();
24| Dgidx.archiveLogDir();
25| Dgidx.run();
26|

[06.28.13 11:34:01] SEVERE: Caught an exception while invoking method 'run' on object 'BaselineUpdate'. Releasing locks.

Caused by java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl invoke0 - null
Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException
com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript - Error executing valid BeanShell script.
Caused by com.endeca.soleng.eac.toolkit.exception.EacComponentControlException
com.endeca.soleng.eac.toolkit.component.BatchComponent run - Batch component 'Forge' failed. Refer to component logs in /data/endeca/apps/usapseattlesmall/./logs/forges/Forge on host ITLHost.

[06.28.13 11:34:01] INFO: Released lock 'update_lock'.

Possible issue here are:

1. Pipeline has incorrect XML format due your custom calculations
2. Forge did not start because of Environment Variables

To help with the Issue you should inspect your logs at $ENDECA_CONF/logs: process.x.log , invoke.x.log , main.x.log will give you hints on what went wrong.

Check Validity of Pipeline’s XML Content

You can execute a linux command to check whether your XMLs are properly formatted by:

xmllint --noout *.xml

if anything was printed on your terminal there is an issue with XML formatting.

Installing Citrix Receiver ICAClient on Ubuntu 12.04 or 13.04

1. You need to install open motif libraries, so fire your terminal and install libmotif4

sudo apt-get install libmotif4 nspluginwrapper

2. Download Citrix Receiver

Remember that i386 are for intel based computers and the amd* are for AMDs

3. Open your site using firefox and it will show an error

You have not chosen to trust “AddTrust External CA Root”, the issuer of the server’s security certificate.

4. Copy your firefox certificates and add them to your citrix certificates
cp /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

Starting Endeca Dgraph Manually

Sometimes Using the workbench is not enough to start a component. Below is the command to manually start your dgraph or any component

This command uses the Workbench to start the dgraph

sh /path/to/PlatformServices/6.1.3/bin/eaccmd.sh start --app app_id --comp Dgraph1

another way is to use the Dgraph command

${ENDECA_PATH}/MDEX/6.4.0/bin/dgraph  
--threads 6  
--whymatch  
--spl  
--dym  
--dym_hthresh 5  
--dym_nsug 3  
--stat-abins  
--unctrct -v  
--port 19003  
--pidfile ${ENDECA_PATH}/apps/usapseattlesmall/dgraph.pid  
--log ${ENDECA_PATH}/apps/usapseattlesmall/logs/dgraphs/Dgraph1/Dgraph1.reqlog  
--out ${ENDECA_PATH}/apps/usapseattlesmall/logs/dgraphs/Dgraph1/Dgraph1.log  
--spellpath ${ENDECA_PATH}/apps/usapseattlesmall/data/dgraphs/Dgraph1/dgraph_input  
--updatedir ${ENDECA_PATH}/apps/usapseattlesmall/data/dgraphs/Dgraph1/dgraph_input/updates  
--updatelog ${ENDECA_PATH}/apps/usapseattlesmall/logs/dgraphs/Dgraph1/Dgraph1.updatelog ${ENDECA_PATH}/apps/usapseattlesmall/data/dgraphs/Dgraph1/dgraph_input/usap

Check how many cores your linux server has

If you want to check how many cores your linux server has enter the following command to your terminal

cat /proc/cpuinfo

This command will output a lot of information of your server’s cpu. If you don’t want the extra information the command below will serve you just right

cat /proc/cpuinfo | grep process | wc -l

Fix Ubuntu Unity theme on virtual box

ever wonder why your ubuntu unity is showing windows classic theme instead of the cool unity theme?

execute the following on your virtualbox ubuntu and fix the problem
note: this is just a quick fix and you need to re-execute this when your restart your VM

killall -9 gnome-settings-daemon && gnome-settings-daemon

Find big files on linux

A quick post to remember a useful snippet to find big files inside a linux machine

Command

this command shows the full path of the File <colon> Date <colon> Size

find / -type f -size +1G -exec ls -lh {} ; | awk '{ print $9 " : " $6"-"$7 ": " $5 }'

Output

Output shows files bigger than 1gb

[root@RSENDBE01 data]# find / -type f -size +1G -exec ls -lh {} ; | awk '{ print $9 ": " $5 }'
/var/lib/mongo/ECOM-LOGS.9: 2.0G
/var/lib/mongo/ECOM-LOGS.6: 2.0G
/var/lib/mongo/ECOM-LOGS.8: 2.0G
...
...

.com Domain lookup bash script

i’ve been hoarding few domains on my own and i just created a script to easily check available domains but does not check if it is an expiring domains.

Domains.txt

first you need to create your domains.txt that has all the domains you want to check without the “.com”

# domains.txt
bluefin
sampledomain1953checker
sampledomain1954check
sampledomain3353checker

The dotcomchecker.sh

#!/bin/sh
# author: http://almar.io
# date: April 14, 2012
# this script checks for .com domains, available domains will
# appear in the screen but taken domains will be ommitted
DOMAINSTXT="domains.txt"

counter=1;
cat $DOMAINSTXT | grep -v "^#" | while read DOMAIN
do
	whois $DOMAIN.com | grep "No match";
	counter=$((counter+1));

	# pause for a while to avoid being blocked from whois
	if [ "$counter" -gt "8" ]; then
		sleep 10;
	fi
done

just be sure to add executable permission to your file

 chmod +x dotcomchecker.sh

How to use and output

kalmario@StuffedCrust-Mint12 /tmp/domainchecker $ sh dotcomchecker.sh 
No match for "SAMPLEDOMAIN1953CHECKER.COM".
No match for "SAMPLEDOMAIN1954CHECK.COM".
No match for "SAMPLEDOMAIN3353CHECKER.COM".
kalmario@StuffedCrust-Mint12 /tmp/domainchecker $

the uses of .bash_profile and .bashrc

Difference of .bash_profile and .bashrc

.bash_profile is the one being executed upon login on your machine. mostly you add diagnostic commands (uptime, disk space utilization, iostats, etc) that you want to be shown upon login.

.bashrc file determines the behavior of interactive shells. every aliases and functions you put on this file will be available even when you open a new terminal window.

 .bash_profile’s usefulness

On my bash_profile. I always show diagnostic information that i want to be shown upon login ONLY. below is my basic .bash_profile

echo "----- Server Load -----"
mkdir diagnostics -p
uptime > diagnostics/load_avg-`date +%F_%H:%M`.txt
cat diagnostics/load_avg-`date +%F_%H:%M`.txt

echo "----- Disk Space -----"
df -h > diagnostics/disk_space-`date +%F_%H:%M`.txt
cat diagnostics/disk_space-`date +%F_%H:%M`.txt

I always keep a diagnostic folder on my home folder for easier retrieval.

Continue reading

ssh connection always gets disconnected

Last week, when i came back from lunch all my ssh connection has been terminated. It does not show any error message and won’t respond to any command. I tried pressing enter and ctrl+c but to no avail. This problem will be very annoying when you need to copy a file via scp and in the middle of the process the connection dropped or you are executing a long process and you forgot to put it under a screen

it seems ssh is not sending signals to keep the connection alive or the interval is too long that the connection timed out. To remedy this you need to edit your ssh_config

sudo vim /etc/ssh/ssh_config

and add this line to keep your ssh connection alive

ServerAliveInterval 5