Skip Ribbon Commands
Skip to main content
Navigate Up
Sign In

Quick Launch

Average Rating:

(2 Ratings)
facebook Twitter
Email
Print Bookmark Alert me when this article is updated

Feedback

ERROR: "The Gpload process exited before pipe was opened OSError: [Errno 13] Permission denied" while running a session with PowerExchange for Greenplum in PowerCenter
Problem Description

Session with Greenplum Target (PowerExchange for Greenplum) without OS profile succeeds and with OS profiles fails with the below error messages in session log and Integration service logs even when gpload log location is specified.


Messages from session log :
--------------------------
INFO : (5006 | WRITER_1_*_1) : (IS | IS_NAME) : NODE_NAME : GPWRT_34039 : [INFO] Control file created.
INFO : (5006 | WRITER_1_*_1) : (IS | IS_NAME) : NODE_NAME : GPWRT_34040 : [INFO] Gpload started.
INFO : (5006 | SDKTempThread) : (IS | IS_NAME) : NODE_NAME : GPWRT_34078 : [INFO] Clearup Pipe, exit status from the system call = [256], exit status of the command is = [1]
ERROR : (5006 | SDKTempThread) : (IS | IS_NAME) : NODE_NAME : GPWRT_34077 : [ERROR] The Gpload process exited before pipe was opened.
--------------------------

Messages from the Integration service logs :
--------------------------
INFO : (31364 | 139743218083584) : (IS | IS_NAME) : NODE_NAME : CMN_1954 : [:Session task instance [Session_name]:] Process id 28559. Standard output and error:
PowerCenter process impersonation utility.  This executable is meant for use by PowerCenter software only.  Do not execute it manually.
Traceback (most recent call last):
  File "/home/greenplum/bin/gpfdist-4.2.3.0/bin/gpload.py", line 2635, in <module>
    g = gpload(sys.argv[1:])
  File "/home/greenplum/bin/gpfdist-4.2.3.0/bin/gpload.py", line 1121, in __init__
    os.mkdir(self.options.l)
OSError: [Errno 13] Permission denied: '/home/infa_user/gpAdminLogs'
Traceback (most recent call last):
  File "/home/greenplum/bin/gpfdist-4.2.3.0/bin/gpload.py", line 2635, in <module>
    g = gpload(sys.argv[1:])
  File "/home/greenplum/bin/gpfdist-4.2.3.0/bin/gpload.py", line 1121, in __init__
    os.mkdir(self.options.l)
OSError: [Errno 13] Permission denied: '/home/infa_user/gpAdminLogs'
--------------------------
Cause
​Its a designed behavior of gpload version 4.2.3.0 that it will try to access the HOME location even when log location is specified.
When run using the OS profile user, it will try to access the HOME of the Informatica user who started Informatica services and permission is denied for the location.
Solution
​When Gploader version is 4.2.3.0 and OS profile is used, specify the HOME environment variable to the location where the OS profile user has permissions.
1) Add HOME environment variable under the Admin Console > Configure Security > Configure Operating System Profiles
2) Restart Integration Service after making this change and re-run the session.

OR

Upgrade gploader version to the version in which it will not try to access the HOME location when log location is specified.
More Information
​gpload.py code difference of trying to access home location:
--------
gpload version 4.2.3.0 build 1
---
Line 1119:         self.options.l = os.path.join(os.environ.get('HOME', '.'),'gpAdminLogs')
Line 1120:         if not os.path.isdir(self.options.l):
Line 1121:             os.mkdir(self.options.l)
Line 1123:         self.options.l = os.path.join(self.options.l, 'gpload_' + \
Line 1123:         self.options.l = os.path.join(self.options.l, 'gpload_' + \
Line 1149:                         self.options.l = argv[1]
Line 1202:             self.logfile = open(self.options.l,'a')
Line 1205:                       (self.options.l, e))
---

gpload version 4.2.7.0 build 2
---
Line 1119:         self.options.l = None
Line 1149:                         self.options.l = argv[1]
Line 1204:         if self.options.l is None:
Line 1205:             self.options.l = os.path.join(os.environ.get('HOME', '.'),'gpAdminLogs')
Line 1206:             if not os.path.isdir(self.options.l):
Line 1207:                 os.mkdir(self.options.l)
Line 1209:             self.options.l = os.path.join(self.options.l, 'gpload_' + \
Line 1209:             self.options.l = os.path.join(self.options.l, 'gpload_' + \
Line 1213:             self.logfile = open(self.options.l,'a')
Line 1216:                       (self.options.l, e))
---
--------
Applies To
Product: PowerExchange; PowerCenter
Problem Type:
User Type: Developer
Project Phase:
Product Version: PowerExchange for Greenplum
Database: Greenplum
Operating System:
Other Software:

Reference
Attachments
Last Modified Date:11/22/2015 7:53 PMID:336129
People who viewed this also viewed

Feedback

Did this KB document help you?



What can we do to improve this information (2000 or fewer characters)