<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Implicit Context Load issues and no end in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Implicit-Context-Load-issues-and-no-end/m-p/2259195#M40746</link>
    <description>Ok, 
&lt;BR /&gt;I think I have found a solution outside Talend. 
&lt;BR /&gt;Directory structure on the development system: 
&lt;BR /&gt; 
&lt;PRE&gt;./conf   -&amp;gt; config file&lt;BR /&gt;./log    -&amp;gt; log files in subdir structure&lt;BR /&gt;./bin    -&amp;gt; shell scripts&lt;/PRE&gt; 
&lt;BR /&gt;1) change all paths in the default context from absolute to relative paths, like 
&lt;BR /&gt;"/export/home/migdev1/conf/irmigration.ctx" to "./conf/irmigration.ctx" 
&lt;BR /&gt;or 
&lt;BR /&gt;"/export/home/migdev1/log/reject" to "./log/reject" 
&lt;BR /&gt; 
&lt;BR /&gt;2) export the masterjob (here: "A0001_Migration_Masterjob_0.1") from Talend into a ZIP and copy/ftp it to the Unix file system into the HOME directory of the migration user. 
&lt;BR /&gt; 
&lt;BR /&gt;3) log in on the Unix system as the mig user and run the bin/run.sh script with the masterjobs name ("A0001_Migration_Masterjob") as parameter: 
&lt;BR /&gt; 
&lt;PRE&gt;#!/bin/bash&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Name    : run.sh&lt;BR /&gt;# Purpose : extract and run TALEND jobs from ZIP archives&lt;BR /&gt;# Author  : sse/tjo&lt;BR /&gt;# Version : see below&lt;BR /&gt;# Date    : see below&lt;BR /&gt;# Comment : none&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;export VERSION=1.0.0.12&lt;BR /&gt;export STAND=24/10/2012&lt;BR /&gt;export LOG_FILE_DIR=$HOME/log&lt;BR /&gt;cd $HOME&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;echo&lt;BR /&gt;echo&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; run.sh: Version $VERSION as of $STAND"&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Test: Parameter 1 = Talend Job name : must not be null&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; usage: run.sh TALENDJOB"&lt;BR /&gt;		exit -1&lt;BR /&gt;fi&lt;BR /&gt;cd ~/jobs&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Unpack archive&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; run.sh: auto extract $1 archive ... "&lt;BR /&gt;		rm -rf $1_0.1&lt;BR /&gt;		unzip -u -qq $1_0.1.zip&lt;BR /&gt;fi&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Check if TALEND run script exists&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; No shell script $1_0.1/$1/$1_run.sh found."&lt;BR /&gt;		exit -1;&lt;BR /&gt;fi&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; run.sh: running $1_0.1/$1/$1_run.sh"&lt;BR /&gt;echo&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Run script&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;cd $1_0.1/$1&lt;BR /&gt;datum=`date +'20%y%m%d-%H%M%S'`&lt;BR /&gt;# link the config and log directories from $HOME down to the jobs work directory&lt;BR /&gt;rm -rf ./conf ./log ./data&lt;BR /&gt;ln -s $HOME/conf .&lt;BR /&gt;ln -s $HOME/log  .&lt;BR /&gt;ln -s $HOME/data .&lt;BR /&gt;/bin/bash $1_run.sh  2&amp;gt;&amp;amp;1 | tee $LOG_FILE_DIR/run-$datum.log&lt;BR /&gt;echo&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; Done."&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# End of file run.sh&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;/PRE&gt; 
&lt;BR /&gt;So in the end I linked/copied the config file down to the jobs run directory, thereby making it visible for the jobs context loads. 
&lt;BR /&gt;The shell script might need some adaption (like: unzip syntax et al) 
&lt;BR /&gt;Steve</description>
    <pubDate>Wed, 24 Oct 2012 12:28:44 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2012-10-24T12:28:44Z</dc:date>
    <item>
      <title>Implicit Context Load issues and no end</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Implicit-Context-Load-issues-and-no-end/m-p/2259194#M40745</link>
      <description>Hi *, 
&lt;BR /&gt;looks like I am too stupid for this. 
&lt;BR /&gt;I am running "Talend Open Studio for Data Integration", Version: 5.1.2, Build id: r90681-20120913-0734. 
&lt;BR /&gt; 
&lt;BR /&gt;Like so many developers I need to run a migration in two different environments, one on Windows (development, from my workstation), one on Unix (production). 
&lt;BR /&gt;For testing purposes I have defined two Unix users, "migdev1" and "migdev2", with home directories "/export/home/migdev1,2" 
&lt;BR /&gt;The directory structure on the windows environment mirrors the one of "migdev1". 
&lt;BR /&gt;In Talend I have defined a master job that calls several subjobs. In the project settings I have activate "Implicit context load" from fille with filename "context.PARAMS_FILE". In the "Use project settings" I have checked all relevant subjobs. See images. 
&lt;BR /&gt; 
&lt;BR /&gt;In the default context I have set 
&lt;BR /&gt;PARAMS_FILE=/export/home/migdev1/conf/irmigration.ctx 
&lt;BR /&gt;to fit the Windows environment. 
&lt;BR /&gt;On windows the masterjob runs error free. On Unix I have two run situations: 
&lt;BR /&gt;as user "migdev1" in "/export/home/migdev1" with config file "/export/home/migdev1/conf/irmigration.ctx" 
&lt;BR /&gt;and 
&lt;BR /&gt;as user "migdev2" in "/export/home/migdev2" with config file "/export/home/migdev2/conf/irmigration.ctx" 
&lt;BR /&gt;Running the exported masterjob on Unix as user "migdev1" works fine, as it basically is the same context environment as on Windows. 
&lt;BR /&gt;Running the exported masterjob on Unix as user "migdev2" fails, because although the masterjob pulls the correct context file, the subjobs do not "inherit" the correct variable values nor do they read the correct config file: 
&lt;BR /&gt; 
&lt;B&gt;Definitions in Talend-Projext/Contexts/Default:&lt;/B&gt; 
&lt;BR /&gt; 
&lt;PRE&gt;PARAMS_FILE          /export/home/migdev1/conf/irmigration.ctx&lt;BR /&gt;DISCARD_FILE_DIR     /export/home/migdev1/log/discard&lt;BR /&gt;ERROR_FILE_DIR       /export/home/migdev1/log/error&lt;BR /&gt;LOG_FILE_DIR         /export/home/migdev1/log&lt;BR /&gt;REJECT_FILE_DIR      /export/home/migdev1/log/reject&lt;/PRE&gt; 
&lt;BR /&gt; 
&lt;B&gt;Unix Shell Script:&lt;/B&gt; 
&lt;BR /&gt; 
&lt;PRE&gt;export PARAMS_FILE="$HOME/conf/irmigration.ctx"&lt;BR /&gt;/bin/bash $1_run.sh --context_param PARAMS_FILE=$PARAMS_FILE&lt;/PRE&gt; 
&lt;BR /&gt; 
&lt;B&gt;Masterjob, outputs with tJava.System.out.println():&lt;/B&gt; 
&lt;BR /&gt; 
&lt;PRE&gt;***  A000_Migration_Master Version 1.0.0.12 as of 23/10/2012: Start Migration ...&lt;BR /&gt;***  LOG_FILE_DIR     = /export/home/migdev2/log&lt;BR /&gt;***  REJECT_FILE_DIR  = /export/home/migdev2/log/reject&lt;BR /&gt;***  DISCARD_FILE_DIR = /export/home/migdev2/log/discard&lt;BR /&gt;***  ERROR_FILE_DIR   = /export/home/migdev2/log/error&lt;BR /&gt;*** &lt;BR /&gt;***  Subjob called by masterjob, outputs with tJava.System.out.println():&lt;BR /&gt;*** &lt;BR /&gt;/export/home/migdev1/conf/irmigration.ctx (Permission denied)&lt;BR /&gt;***  A0005_Display_Configuration: current actual context&lt;BR /&gt;***  ---------------------------------------------------&lt;BR /&gt;***  Runtime context parameters&lt;BR /&gt;***  ---------------------------------------------------&lt;BR /&gt;***  PARAMS_FILE      = /export/home/migdev1/conf/irmigration.ctx&lt;BR /&gt;***  ---------------------------------------------------&lt;BR /&gt;***  DISCARD_FILE_DIR = /export/home/migdev1/conf/irmigration.ctx/logs/discard&lt;BR /&gt;***  ERROR_FILE_DIR   = /export/home/migdev1/logs/error&lt;BR /&gt;***  LOG_FILE_DIR     = /export/home/migdev1/logs&lt;BR /&gt;***  REJECT_FILE_DIR  = /export/home/migdev1/logs/reject&lt;BR /&gt;***  ---------------------------------------------------&lt;/PRE&gt; 
&lt;BR /&gt;The subjobs obviously try to access the param file in "migdev1", which they can't open because of rights restrictions. 
&lt;BR /&gt;Why does the masterjob find the right config file, and the subjobs do not? 
&lt;BR /&gt;Any suggestions? 
&lt;BR /&gt;Frustrated, 
&lt;BR /&gt;Steve</description>
      <pubDate>Wed, 24 Oct 2012 10:05:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Implicit-Context-Load-issues-and-no-end/m-p/2259194#M40745</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-10-24T10:05:06Z</dc:date>
    </item>
    <item>
      <title>Re: Implicit Context Load issues and no end</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Implicit-Context-Load-issues-and-no-end/m-p/2259195#M40746</link>
      <description>Ok, 
&lt;BR /&gt;I think I have found a solution outside Talend. 
&lt;BR /&gt;Directory structure on the development system: 
&lt;BR /&gt; 
&lt;PRE&gt;./conf   -&amp;gt; config file&lt;BR /&gt;./log    -&amp;gt; log files in subdir structure&lt;BR /&gt;./bin    -&amp;gt; shell scripts&lt;/PRE&gt; 
&lt;BR /&gt;1) change all paths in the default context from absolute to relative paths, like 
&lt;BR /&gt;"/export/home/migdev1/conf/irmigration.ctx" to "./conf/irmigration.ctx" 
&lt;BR /&gt;or 
&lt;BR /&gt;"/export/home/migdev1/log/reject" to "./log/reject" 
&lt;BR /&gt; 
&lt;BR /&gt;2) export the masterjob (here: "A0001_Migration_Masterjob_0.1") from Talend into a ZIP and copy/ftp it to the Unix file system into the HOME directory of the migration user. 
&lt;BR /&gt; 
&lt;BR /&gt;3) log in on the Unix system as the mig user and run the bin/run.sh script with the masterjobs name ("A0001_Migration_Masterjob") as parameter: 
&lt;BR /&gt; 
&lt;PRE&gt;#!/bin/bash&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Name    : run.sh&lt;BR /&gt;# Purpose : extract and run TALEND jobs from ZIP archives&lt;BR /&gt;# Author  : sse/tjo&lt;BR /&gt;# Version : see below&lt;BR /&gt;# Date    : see below&lt;BR /&gt;# Comment : none&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;export VERSION=1.0.0.12&lt;BR /&gt;export STAND=24/10/2012&lt;BR /&gt;export LOG_FILE_DIR=$HOME/log&lt;BR /&gt;cd $HOME&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;echo&lt;BR /&gt;echo&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; run.sh: Version $VERSION as of $STAND"&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Test: Parameter 1 = Talend Job name : must not be null&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; usage: run.sh TALENDJOB"&lt;BR /&gt;		exit -1&lt;BR /&gt;fi&lt;BR /&gt;cd ~/jobs&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Unpack archive&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; run.sh: auto extract $1 archive ... "&lt;BR /&gt;		rm -rf $1_0.1&lt;BR /&gt;		unzip -u -qq $1_0.1.zip&lt;BR /&gt;fi&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Check if TALEND run script exists&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;if &lt;BR /&gt;then&lt;BR /&gt;		echo "&amp;gt;&amp;gt;&amp;gt; No shell script $1_0.1/$1/$1_run.sh found."&lt;BR /&gt;		exit -1;&lt;BR /&gt;fi&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; run.sh: running $1_0.1/$1/$1_run.sh"&lt;BR /&gt;echo&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# Run script&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;cd $1_0.1/$1&lt;BR /&gt;datum=`date +'20%y%m%d-%H%M%S'`&lt;BR /&gt;# link the config and log directories from $HOME down to the jobs work directory&lt;BR /&gt;rm -rf ./conf ./log ./data&lt;BR /&gt;ln -s $HOME/conf .&lt;BR /&gt;ln -s $HOME/log  .&lt;BR /&gt;ln -s $HOME/data .&lt;BR /&gt;/bin/bash $1_run.sh  2&amp;gt;&amp;amp;1 | tee $LOG_FILE_DIR/run-$datum.log&lt;BR /&gt;echo&lt;BR /&gt;echo "&amp;gt;&amp;gt;&amp;gt; Done."&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;BR /&gt;# End of file run.sh&lt;BR /&gt;# ---------------------------------------------------------------------------------&lt;/PRE&gt; 
&lt;BR /&gt;So in the end I linked/copied the config file down to the jobs run directory, thereby making it visible for the jobs context loads. 
&lt;BR /&gt;The shell script might need some adaption (like: unzip syntax et al) 
&lt;BR /&gt;Steve</description>
      <pubDate>Wed, 24 Oct 2012 12:28:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Implicit-Context-Load-issues-and-no-end/m-p/2259195#M40746</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-10-24T12:28:44Z</dc:date>
    </item>
  </channel>
</rss>

