Pig
  1. Pig
  2. PIG-18

Making Pig work with HOD 0.4 and hadoop 0.16

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.1.0
    • Component/s: impl
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      Pig needs to work with the soon to be released hadoop on demand (HOD) version.

      1. PIG-18.patch
        17 kB
        Olga Natkovich
      2. PIG-18.patch-v2craigm-07032008
        18 kB
        Craig Macdonald
      3. hadoop16.jar
        4.03 MB
        Olga Natkovich
      4. PIG-18.patch-v3craigm-10032008
        20 kB
        Craig Macdonald
      5. PIG-18.patch
        23 kB
        Olga Natkovich
      6. PIG-18_20080320.patch
        26 kB
        Olga Natkovich

        Activity

        Hide
        Doug Cutting added a comment -

        Where is HOD 0.4 described? HADOOP-1301? It's hard to be compatible with something that's unpublished...

        Show
        Doug Cutting added a comment - Where is HOD 0.4 described? HADOOP-1301 ? It's hard to be compatible with something that's unpublished...
        Hide
        Olga Natkovich added a comment -

        This is question for hadoop team. I have not seen the spec for it yet but I know that it is coming.

        Show
        Olga Natkovich added a comment - This is question for hadoop team. I have not seen the spec for it yet but I know that it is coming.
        Hide
        Craig Macdonald added a comment -

        I had a think on this issue. It's fairly easy to integrate HOD, if the ssh gateway support is not required. This is because, essentially, we do create a local temporary directory, then call HOD.

        For the ssh gateway support, there needs to be a way to get the Hadoop configuration across the connection. How important a use-case is this for Yahoo?
        Feasible solutions:
        1. the current expect script parsing HOD output.
        2. Using a shell script wrapper emulating HOD? This would call hod on the remote machine, and then scp the resulting configuration back
        3. Another option would be to add an option to HOD that allows the Hadoop XML config file to be displayed once nodes have been allocated.
        4. You install qsub on all machines that run Pig.
        5. You write a shell script to emulate qsub using ssh and use HOD locally.

        #!/bin/bash
        GATEWAY=headnode
        exec ssh headnode qsub "$@"
        

        Craig

        Show
        Craig Macdonald added a comment - I had a think on this issue. It's fairly easy to integrate HOD, if the ssh gateway support is not required. This is because, essentially, we do create a local temporary directory, then call HOD. For the ssh gateway support, there needs to be a way to get the Hadoop configuration across the connection. How important a use-case is this for Yahoo? Feasible solutions: 1. the current expect script parsing HOD output. 2. Using a shell script wrapper emulating HOD? This would call hod on the remote machine, and then scp the resulting configuration back 3. Another option would be to add an option to HOD that allows the Hadoop XML config file to be displayed once nodes have been allocated. 4. You install qsub on all machines that run Pig. 5. You write a shell script to emulate qsub using ssh and use HOD locally. #!/bin/bash GATEWAY=headnode exec ssh headnode qsub "$@" Craig
        Hide
        Benjamin Reed added a comment -

        Perhaps we should rip out the ssh gateway. There is currently a bug such that any data transfers of non-trivial size could cause a deadlock. I've tried repeatedly to get help from the jsch mailing list, but to no avail. So, given that it isn't working properly at the moment (and hasn't ever worked really), we should probably rip it out.

        Show
        Benjamin Reed added a comment - Perhaps we should rip out the ssh gateway. There is currently a bug such that any data transfers of non-trivial size could cause a deadlock. I've tried repeatedly to get help from the jsch mailing list, but to no avail. So, given that it isn't working properly at the moment (and hasn't ever worked really), we should probably rip it out.
        Hide
        Olga Natkovich added a comment -

        I already have the patch for HOD. I have not tested the ssh part yet.

        Ben, I was under impression that people actually use ssh tunnel?

        Comitting this change requires fixing issue in https://issues.apache.org/jira/browse/PIG-116 which I am working on now. Because I added a shutdown hook to cleanup hod connections in case of kill, we are leaving temp files behind more frequently.

        Show
        Olga Natkovich added a comment - I already have the patch for HOD. I have not tested the ssh part yet. Ben, I was under impression that people actually use ssh tunnel? Comitting this change requires fixing issue in https://issues.apache.org/jira/browse/PIG-116 which I am working on now. Because I added a shutdown hook to cleanup hod connections in case of kill, we are leaving temp files behind more frequently.
        Hide
        Benjamin Reed added a comment -

        I'm not sure if anyone uses it. It works great as long as you don't try to tranfer files

        Show
        Benjamin Reed added a comment - I'm not sure if anyone uses it. It works great as long as you don't try to tranfer files
        Hide
        Stefan Groschupf added a comment -

        Is HOD a requirement for y!? I guess so? If not, I would be very much in favor of removing all the HOD related code.
        It adds a lot of code into the system that makes things more complex and fragil. Implementing sshSockets is just something pig should not do.
        As far I understand we could do all of that also with a shell script.
        At least from the perspective of the project we working on there are more important bridges to cross than supporting HOD.
        So I would prefer a pig-hod.sh script.
        Sorry, just my 2 cents.

        Show
        Stefan Groschupf added a comment - Is HOD a requirement for y!? I guess so? If not, I would be very much in favor of removing all the HOD related code. It adds a lot of code into the system that makes things more complex and fragil. Implementing sshSockets is just something pig should not do. As far I understand we could do all of that also with a shell script. At least from the perspective of the project we working on there are more important bridges to cross than supporting HOD. So I would prefer a pig-hod.sh script. Sorry, just my 2 cents.
        Hide
        Olga Natkovich added a comment -

        HOD is now part of hadoop so supporting it is not Yahoo specific. But we do use it inside of Yahoo so we can't remove it. The need for expect script would go away and hopefully the code will be a bit cleaner once I am done with this patch.

        Show
        Olga Natkovich added a comment - HOD is now part of hadoop so supporting it is not Yahoo specific. But we do use it inside of Yahoo so we can't remove it. The need for expect script would go away and hopefully the code will be a bit cleaner once I am done with this patch.
        Hide
        Olga Natkovich added a comment -

        Just apploaded the patch that makes pig work with hadoop 0.16 and HOD 0.4.

        This patch contains several things:

        (1) New hadoop16.jar and I made it the default in build.xml since this is the current hadoop release
        (2) Changes to integrate with HOD 0.4

        • complete API rewrite; we no longer need expect script and all the strange inetraction we had to do. Now we just call hod allocate in the beginning and hod deallocate at the end.
        • added shutdown hook to make sure that we disconnect even during abnormal termination
          (3) Moved temp file cleanup from shutdown hook into Main.java. The problem with shutdown hook is that it might be called after DFS shutdown hook in which case cleanup does not happen. So at this point we cleanup under normal conditions and don't cleanup when client process is killed via signal. (I opened a bug with hadoop team to help is deal with this issue.)
        Show
        Olga Natkovich added a comment - Just apploaded the patch that makes pig work with hadoop 0.16 and HOD 0.4. This patch contains several things: (1) New hadoop16.jar and I made it the default in build.xml since this is the current hadoop release (2) Changes to integrate with HOD 0.4 complete API rewrite; we no longer need expect script and all the strange inetraction we had to do. Now we just call hod allocate in the beginning and hod deallocate at the end. added shutdown hook to make sure that we disconnect even during abnormal termination (3) Moved temp file cleanup from shutdown hook into Main.java. The problem with shutdown hook is that it might be called after DFS shutdown hook in which case cleanup does not happen. So at this point we cleanup under normal conditions and don't cleanup when client process is killed via signal. (I opened a bug with hadoop team to help is deal with this issue.)
        Hide
        Stefan Groschupf added a comment -

        Does hadoop16.jar is a self build jar that contains all jars hadoop comes with?
        That would be critica, since we would run in version conflicts in case we have one of those libraries different on the cluster.
        Embedding jars into jars is very uncommon in the java world and critical. PIG-136 shows how we can easily deal with hadoop dependencies.

        Show
        Stefan Groschupf added a comment - Does hadoop16.jar is a self build jar that contains all jars hadoop comes with? That would be critica, since we would run in version conflicts in case we have one of those libraries different on the cluster. Embedding jars into jars is very uncommon in the java world and critical. PIG-136 shows how we can easily deal with hadoop dependencies.
        Hide
        Craig Macdonald added a comment -

        Hi Olga,

        Some comments/questions on this patch:

        1. fixUpDomain() still patches non FQ hostnames to be in the domain .inktomisearch.com. Can this patch resolve this? Perhaps this can become a property that PIG-111 uses?

        2.

        DataInputStream err = new DataInputStream(p.getErrorStream());
        String errMsg = new String();
        try {
        errMsg = err.readUTF();
        

        This doesnt look quite right. DataInput/DataOutputStreams are a Java specific form of Data IO, not generally compatible with other platforms. Indeed readUTF expects first a number telling it how long the String is.

        Perhaps this is more appropriate?

        String errMsg;
        try{
        BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
        errMsg = br.readLine();
        br.close();
        

        3. How doe hod work over an SSH connection. You ssh to connect to HOD, but your passing a directory that is on the local node. How does HOD read/write to that?

        4. hod is assumed to be on the user's path?

        Overall, looks much better

        C

        Show
        Craig Macdonald added a comment - Hi Olga, Some comments/questions on this patch: 1. fixUpDomain() still patches non FQ hostnames to be in the domain .inktomisearch.com. Can this patch resolve this? Perhaps this can become a property that PIG-111 uses? 2. DataInputStream err = new DataInputStream(p.getErrorStream()); String errMsg = new String(); try { errMsg = err.readUTF(); This doesnt look quite right. DataInput/DataOutputStreams are a Java specific form of Data IO, not generally compatible with other platforms. Indeed readUTF expects first a number telling it how long the String is. Perhaps this is more appropriate? String errMsg; try{ BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream())); errMsg = br.readLine(); br.close(); 3. How doe hod work over an SSH connection. You ssh to connect to HOD, but your passing a directory that is on the local node. How does HOD read/write to that? 4. hod is assumed to be on the user's path? Overall, looks much better C
        Hide
        Craig Macdonald added a comment -

        Olga,

        Can you attach a hadoop16.jar so I can test this please?

        Thanks

        Craig

        Show
        Craig Macdonald added a comment - Olga, Can you attach a hadoop16.jar so I can test this please? Thanks Craig
        Hide
        Olga Natkovich added a comment -

        In response to Stefan's comment.

        The hadoop 0.16 jar is the same format as for hadoop 0.15. Why would it make the things worse for your project than with hadoop-0.15.

        I would like to separate migration to hadoop 0.16 from changes to the library structure as I think we need to have a discussion before hand on how we see integration with hadoop and other libraries. There are pros and cons with bundling and splitting things and I would like for that discussion to happen prior to making changes

        Show
        Olga Natkovich added a comment - In response to Stefan's comment. The hadoop 0.16 jar is the same format as for hadoop 0.15. Why would it make the things worse for your project than with hadoop-0.15. I would like to separate migration to hadoop 0.16 from changes to the library structure as I think we need to have a discussion before hand on how we see integration with hadoop and other libraries. There are pros and cons with bundling and splitting things and I would like for that discussion to happen prior to making changes
        Hide
        Olga Natkovich added a comment -

        Craig, thanks for detailed feedback.

        (1) I agree that this code should be moved out. Once PIG-111 is resolved, I would be happy to make the transition.
        (2) Thanks for the proposed change; will make the change and resubmitt the patch.
        (3) You are right. The plan is to actually get rid of that code, I just did not have time to do the cleanup.
        (4) Yes, we assume hod is on the patch

        I will provide hadoop16.jar shortly. Need to get over to my other box

        Show
        Olga Natkovich added a comment - Craig, thanks for detailed feedback. (1) I agree that this code should be moved out. Once PIG-111 is resolved, I would be happy to make the transition. (2) Thanks for the proposed change; will make the change and resubmitt the patch. (3) You are right. The plan is to actually get rid of that code, I just did not have time to do the cleanup. (4) Yes, we assume hod is on the patch I will provide hadoop16.jar shortly. Need to get over to my other box
        Hide
        Craig Macdonald added a comment -

        Here's a completely uncompiled and untested patch to resolve issues (1), (2) & (3). (1) is obviously temporary until PIG-111 lands.

        For (4) we could simply introduce a hod.path property. With all the flakey NFS servers around here, I try to minimise the number of places on my path.

        C

        Show
        Craig Macdonald added a comment - Here's a completely uncompiled and untested patch to resolve issues (1), (2) & (3). (1) is obviously temporary until PIG-111 lands. For (4) we could simply introduce a hod.path property. With all the flakey NFS servers around here, I try to minimise the number of places on my path. C
        Hide
        Craig Macdonald added a comment -

        Here's an updated version of my earlier patch. This even compiles, and I tested it

        All ssh code has been removed. Consequently the hod.server property has been removed.

        Olga, I couldn't follow your HOD commands versus the HOD documentation http://hadoop.apache.org/core/docs/r0.16.0/hod.html, so I recoded it to follow that document. As related issue is them that the command line should be passed as an array, to ensure that spaces within the double quoted region are not tokenised by Runtime.exec(String).

        I added a System property simply named "hod", which takes the value of $hodRoot from pig.pl. This is what defines if HOD should be used, and also allows HOD to be explicitly specified, not just in the user's path.

        The ExecException "Failed to connect to HOD. Return code" was never actually thrown (the throw was missing). doHod() now propagates any ExecException thrown in doHod(), rather than wrapping it in another one.

        A future "feature" for debugging log level would be to capture the HOD standard output and log that.

        Craig

        Show
        Craig Macdonald added a comment - Here's an updated version of my earlier patch. This even compiles, and I tested it All ssh code has been removed. Consequently the hod.server property has been removed. Olga, I couldn't follow your HOD commands versus the HOD documentation http://hadoop.apache.org/core/docs/r0.16.0/hod.html , so I recoded it to follow that document. As related issue is them that the command line should be passed as an array, to ensure that spaces within the double quoted region are not tokenised by Runtime.exec(String). I added a System property simply named "hod", which takes the value of $hodRoot from pig.pl. This is what defines if HOD should be used, and also allows HOD to be explicitly specified, not just in the user's path. The ExecException "Failed to connect to HOD. Return code" was never actually thrown (the throw was missing). doHod() now propagates any ExecException thrown in doHod(), rather than wrapping it in another one. A future "feature" for debugging log level would be to capture the HOD standard output and log that. Craig
        Hide
        Olga Natkovich added a comment -

        Craig,

        We have some internal users that might still need the ssh stuff. I am meeting with them on Monday to see what we can do.

        Also, the hod documentation is not up to date so the interface there is not correct - they have changed it last week.

        I will update the patch today ignoring ssh part and then follow up with ssh changes once I figure out what needs to be done. I will also take a look at your exception changes.

        Thanks for your help and review!

        Show
        Olga Natkovich added a comment - Craig, We have some internal users that might still need the ssh stuff. I am meeting with them on Monday to see what we can do. Also, the hod documentation is not up to date so the interface there is not correct - they have changed it last week. I will update the patch today ignoring ssh part and then follow up with ssh changes once I figure out what needs to be done. I will also take a look at your exception changes. Thanks for your help and review!
        Hide
        Olga Natkovich added a comment -

        Craig,

        After further thinking about this, I would like to split this work into two separate bugs and separate patches:

        (1) Done within this bug, just makes the changes needed to work with hadoop 0.16 and HOD 0.4 in the same way that it does now. It will include my original patch with the following fixes based on your comments:

        • cleaned up error handling
        • properly throwing the exception
        • removing or making work ssh tunnel depending on my discussion with the internal user on Monday.

        (2) A separate issue to address hod configurability, improving error propagation etc.

        The are a couple of reasons for the proposed split:

        • I feel that those changes are quite distinct and should be discussed separately. Also some of the config changes winght be breaking backward compatibility.
        • I would like to get the code for hadoop 0.16 and hod 0.4 committed as soon as possible. Combining the two would mean more testing and more time.

        I am planning to submit the patch for (1) on Monday after I figure out if we need to keep the ssh tunnel in place.

        Show
        Olga Natkovich added a comment - Craig, After further thinking about this, I would like to split this work into two separate bugs and separate patches: (1) Done within this bug, just makes the changes needed to work with hadoop 0.16 and HOD 0.4 in the same way that it does now. It will include my original patch with the following fixes based on your comments: cleaned up error handling properly throwing the exception removing or making work ssh tunnel depending on my discussion with the internal user on Monday. (2) A separate issue to address hod configurability, improving error propagation etc. The are a couple of reasons for the proposed split: I feel that those changes are quite distinct and should be discussed separately. Also some of the config changes winght be breaking backward compatibility. I would like to get the code for hadoop 0.16 and hod 0.4 committed as soon as possible. Combining the two would mean more testing and more time. I am planning to submit the patch for (1) on Monday after I figure out if we need to keep the ssh tunnel in place.
        Hide
        Craig Macdonald added a comment -

        Olga,

        Apologies on the HOD confusion. I think you are privy to more information than me!

        For SSH tunneling, i understand your Hadoop cluster is behind a SSH gateway. Is it also SOCKS accessible?

        An easier option would be:
        Run HOD locally, use ssh wrappers to run the Torque tools, and tell Java to use the SOCKS server for all socket connections, i.e. the Hadoop connections.

        For the SSH tunneling of the Torque commands, create this executable script in your path:

        #!/bin/bash
        REMOTEPBSPATH=/usr/local/bin
        ssh sshgateway $REMOTEPBSPATH/$0 "$@"
        

        and symlink qsub and qstat to it.

        See http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html for how to configure Java to use SOCKS.
        A simple SOCKS server is http://ss5.sourceforge.net

        Overall, this would keep the Pig codebase more lightweight.

        C

        Show
        Craig Macdonald added a comment - Olga, Apologies on the HOD confusion. I think you are privy to more information than me! For SSH tunneling, i understand your Hadoop cluster is behind a SSH gateway. Is it also SOCKS accessible? An easier option would be: Run HOD locally, use ssh wrappers to run the Torque tools, and tell Java to use the SOCKS server for all socket connections, i.e. the Hadoop connections. For the SSH tunneling of the Torque commands, create this executable script in your path: #!/bin/bash REMOTEPBSPATH=/usr/local/bin ssh sshgateway $REMOTEPBSPATH/$0 "$@" and symlink qsub and qstat to it. See http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html for how to configure Java to use SOCKS. A simple SOCKS server is http://ss5.sourceforge.net Overall, this would keep the Pig codebase more lightweight. C
        Hide
        Olga Natkovich added a comment -

        Our scenerion is that we have hod installed on a set of machines from which the cluster can be accessed. However, some users choose to run from their own machines via ssh tunnel that connects them one of the machines with HOD.

        For most cases this is not that much different than running pig command via ssh except that the would need to copy pig script over. The useful case is when the input or output data is local to their machine - that saves them the need to copy things back and force. However, in that case, there is a bug in ssh library that we use - it sometimes hangs the system during large data transfers.

        What you are suggesting sound like something that HOD would need to do since pig does not have direct access to torque and maui.

        My plan is to put ssh tunneling code back for now since we have some people here using it. I will change create and remove temp file code to do it via command that can run locally or remotely depending on the mode.

        Show
        Olga Natkovich added a comment - Our scenerion is that we have hod installed on a set of machines from which the cluster can be accessed. However, some users choose to run from their own machines via ssh tunnel that connects them one of the machines with HOD. For most cases this is not that much different than running pig command via ssh except that the would need to copy pig script over. The useful case is when the input or output data is local to their machine - that saves them the need to copy things back and force. However, in that case, there is a bug in ssh library that we use - it sometimes hangs the system during large data transfers. What you are suggesting sound like something that HOD would need to do since pig does not have direct access to torque and maui. My plan is to put ssh tunneling code back for now since we have some people here using it. I will change create and remove temp file code to do it via command that can run locally or remotely depending on the mode.
        Hide
        Olga Natkovich added a comment -

        Updated patch:

        • makes ssh tunnel work
        • makes changes suggested by Craig
        Show
        Olga Natkovich added a comment - Updated patch: makes ssh tunnel work makes changes suggested by Craig
        Hide
        Craig Macdonald added a comment -

        Olga,

        1. This patch does not resolve the hard-coding of .inktomisearch.com, which prevents us using Pig without patching in our own setting.

        I don't see a need why this hack should remain any longer. Indeed it will break compatability for internal users, but you have control over your internal users. If suffixing ".inktomisearch.com" to any non FQDN remains, then any some percentage of new users trying to use Pig through HOD will fail. It can be simply replaced with a property, and given a good configuration implementation, this will be a one-time only change for the users. Perhaps you should only move your users when you reach a release status, and this prevents them being interrupted while we try to determine the best way to configure Pig.

        (If the above reads overly harshly, please accept my apologies, I'm not hear to stir things up).

        2. I would recommend change the spec of runCommand to (String, String[]). This would be less likely to break in settings where the command line contains paths with spaces. (Often on Windows . In this case, you'd be using runtime.exec(String[]) instead of runtime.exec(String). This is better as the Java tokeniser is not as good as Unix shells at tokenising spaces, escapes, double quotes etc [e.g Perl uses the Unix shell to tokenise for system("") calls, while Java just splits on space]. Using the array method prevents the tokenisation, and means arguments containing spaces wont be incorrectly tokenised.

        Other than that I'm happy to see this patch committed.

        Craig

        Show
        Craig Macdonald added a comment - Olga, 1. This patch does not resolve the hard-coding of .inktomisearch.com, which prevents us using Pig without patching in our own setting. I don't see a need why this hack should remain any longer. Indeed it will break compatability for internal users, but you have control over your internal users. If suffixing ".inktomisearch.com" to any non FQDN remains, then any some percentage of new users trying to use Pig through HOD will fail. It can be simply replaced with a property, and given a good configuration implementation, this will be a one-time only change for the users. Perhaps you should only move your users when you reach a release status, and this prevents them being interrupted while we try to determine the best way to configure Pig. (If the above reads overly harshly, please accept my apologies, I'm not hear to stir things up). 2. I would recommend change the spec of runCommand to (String, String[]). This would be less likely to break in settings where the command line contains paths with spaces. (Often on Windows . In this case, you'd be using runtime.exec(String[]) instead of runtime.exec(String). This is better as the Java tokeniser is not as good as Unix shells at tokenising spaces, escapes, double quotes etc [e.g Perl uses the Unix shell to tokenise for system("") calls, while Java just splits on space] . Using the array method prevents the tokenisation, and means arguments containing spaces wont be incorrectly tokenised. Other than that I'm happy to see this patch committed. Craig
        Hide
        Benjamin Reed added a comment -

        Excellent comments Craig. I second both of them.

        Show
        Benjamin Reed added a comment - Excellent comments Craig. I second both of them.
        Hide
        Alan Gates added a comment -

        A couple of questions:

        1) This patch reworks how we disconnect from HOD in both regular and interrupt situations. Were both those situations tested to make sure that pig didn't leave the hod session live?

        2) Could bin/startHOD.expect be removed as part of this patch? Is it still used anywhere?

        Regarding Craig's comment 1 in https://issues.apache.org/jira/browse/PIG-18?focusedCommentId=12580854#action_12580854, do we need to hold this patch for that fix? I fully agree with him that we need to get all Yahoo specific references out of the code. But these changes aren't making that any worse, they just aren't addressing it yet. Can that be done in a separate patch?

        Show
        Alan Gates added a comment - A couple of questions: 1) This patch reworks how we disconnect from HOD in both regular and interrupt situations. Were both those situations tested to make sure that pig didn't leave the hod session live? 2) Could bin/startHOD.expect be removed as part of this patch? Is it still used anywhere? Regarding Craig's comment 1 in https://issues.apache.org/jira/browse/PIG-18?focusedCommentId=12580854#action_12580854 , do we need to hold this patch for that fix? I fully agree with him that we need to get all Yahoo specific references out of the code. But these changes aren't making that any worse, they just aren't addressing it yet. Can that be done in a separate patch?
        Hide
        Olga Natkovich added a comment -

        Craig, thanks for your comments. Will make both changes and submit new patch in a bit.

        Show
        Olga Natkovich added a comment - Craig, thanks for your comments. Will make both changes and submit new patch in a bit.
        Hide
        Olga Natkovich added a comment -

        Alan, thanks for the review

        Yes, I did test all disconnect case both normal and with Ctrl-C for both gateway and ssh tunnle access. I made sure what we don't leave things in the torque queue as well as temp files both on local host and on the gateway.

        And yes, I will remove the expect script.

        Show
        Olga Natkovich added a comment - Alan, thanks for the review Yes, I did test all disconnect case both normal and with Ctrl-C for both gateway and ssh tunnle access. I made sure what we don't leave things in the torque queue as well as temp files both on local host and on the gateway. And yes, I will remove the expect script.
        Hide
        Olga Natkovich added a comment -

        Updated patch with issues brought up by Craig and Alan resolved.

        Show
        Olga Natkovich added a comment - Updated patch with issues brought up by Craig and Alan resolved.
        Hide
        Alan Gates added a comment -

        +1. Looks good.

        Show
        Alan Gates added a comment - +1. Looks good.
        Hide
        Pi Song added a comment -

        A trivial thing that I spotted

        +        // this is a hack to see full error till we resolve commons logging config
        +        e.printStackTrace();
        

        TODO: should be used so static code analyzer will report that if you forget.

        Show
        Pi Song added a comment - A trivial thing that I spotted + // this is a hack to see full error till we resolve commons logging config + e.printStackTrace(); TODO: should be used so static code analyzer will report that if you forget.
        Hide
        Olga Natkovich added a comment -

        we still need it since the log.error as of now does not print stack trace of the cause which we need to diagnose problems.

        Show
        Olga Natkovich added a comment - we still need it since the log.error as of now does not print stack trace of the cause which we need to diagnose problems.
        Hide
        Olga Natkovich added a comment -

        Patch committed. Please, note that

        (1) hadoop 0.16 is now set as default; can be changes vi proprty
        (2) I removed hadoop 0.14
        (3) I removed hod expect script

        Show
        Olga Natkovich added a comment - Patch committed. Please, note that (1) hadoop 0.16 is now set as default; can be changes vi proprty (2) I removed hadoop 0.14 (3) I removed hod expect script
        Hide
        Craig Macdonald added a comment -

        Super Olga. I was about to +1 your latest patch.
        Thanks

        C

        Show
        Craig Macdonald added a comment - Super Olga. I was about to +1 your latest patch. Thanks C

          People

          • Assignee:
            Olga Natkovich
            Reporter:
            Olga Natkovich
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development