Uploaded image for project: 'Bigtop'
  1. Bigtop
  2. BIGTOP-1824

Tachyon master and worker daemon script does not work propertly

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.8.0
    • Fix Version/s: 1.0.0
    • Component/s: build
    • Labels:
      None

      Description

      The daemon script used to start tachyon master or worker does not have pid logged in PIDFILE actually. So, it can start the daemon for sure, but it can not stop it, nor could it check the status.
      The tachyon-master stop function leverage the daemon script from tachyon project but it stop all the tachyon related daemons(master and worker) instead of only stop the master daemon.

        Issue Links

          Activity

          Hide
          evans_ye Evans Ye added a comment -

          Thanks for actively reviewing my patch Konstantin Boudnik.

          Show
          evans_ye Evans Ye added a comment - Thanks for actively reviewing my patch Konstantin Boudnik .
          Hide
          cos Konstantin Boudnik added a comment -

          Pushed to the master. Thanks Evans!

          Show
          cos Konstantin Boudnik added a comment - Pushed to the master. Thanks Evans!
          Hide
          cos Konstantin Boudnik added a comment -

          Seems to be ok +1

          I think at this point all three patches are reviewed and ready for the commit? Please go ahead and bring them in!

          Thanks for staying on top of this, Evans! Much appreciated!

          Show
          cos Konstantin Boudnik added a comment - Seems to be ok +1 I think at this point all three patches are reviewed and ready for the commit? Please go ahead and bring them in! Thanks for staying on top of this, Evans! Much appreciated!
          Hide
          evans_ye Evans Ye added a comment -

          Since this JIRA is critical for the correctness of tachyon package. Please let me explain what I've done in the patch.
          There're 3 main point addressed in this patch.

          • tachyon changed its code to load slave config from conf/workers instead of conf/slaves. Thus we've to package the workers file as well.
          • In tachyon-master service script, we call /usr/lib/tachyon/bin/tachyon-start.sh master Mount to start tachyon master daemon. But tachyon-start.sh is also a wrapper script which does not throw correct pid out. Hence the original service script does not log the right pid in PIDFILE. The fix is to use the same mechanism that tachyon used to find out the pid.
            The line
            echo `ps -A -o pid,command | grep -i "[j]ava" | grep $KEYWORD | awk '{print $1}'` > $PIDFILE
            

            which contains script to find out the pid was just shamelessly stolen from tachyon itself.

          • When stopping tachyon daemons, instead of doing
            killproc -p $PIDFILE java
            

            I call tachyon wrapper directly:

            /usr/lib/tachyon/bin/tachyon-stop.sh master 2>&1 > /dev/null
            

          Changes for tachyon-worker service script is identical to the tachyon-master

          Show
          evans_ye Evans Ye added a comment - Since this JIRA is critical for the correctness of tachyon package. Please let me explain what I've done in the patch. There're 3 main point addressed in this patch. tachyon changed its code to load slave config from conf/workers instead of conf/slaves . Thus we've to package the workers file as well. In tachyon-master service script, we call /usr/lib/tachyon/bin/tachyon-start.sh master Mount to start tachyon master daemon. But tachyon-start.sh is also a wrapper script which does not throw correct pid out. Hence the original service script does not log the right pid in PIDFILE. The fix is to use the same mechanism that tachyon used to find out the pid. The line echo `ps -A -o pid,command | grep -i "[j]ava" | grep $KEYWORD | awk '{print $1}'` > $PIDFILE which contains script to find out the pid was just shamelessly stolen from tachyon itself. When stopping tachyon daemons, instead of doing killproc -p $PIDFILE java I call tachyon wrapper directly: /usr/lib/tachyon/bin/tachyon-stop.sh master 2>&1 > /dev/ null Changes for tachyon-worker service script is identical to the tachyon-master
          Hide
          cos Konstantin Boudnik added a comment -

          Anyone?

          Show
          cos Konstantin Boudnik added a comment - Anyone?
          Hide
          cos Konstantin Boudnik added a comment -

          Can anyone familiar with Tachyon take a look? I am cleaning the queue for the RC1. Thanks!

          Show
          cos Konstantin Boudnik added a comment - Can anyone familiar with Tachyon take a look? I am cleaning the queue for the RC1. Thanks!
          Hide
          evans_ye Evans Ye added a comment -

          Upload a patch which fixes the service scripts start/stop issue. The patch also replaced the slaves configuration file by workers since the slaves file is no longer referenced by tachyon's start/stop scripts.

          Show
          evans_ye Evans Ye added a comment - Upload a patch which fixes the service scripts start/stop issue. The patch also replaced the slaves configuration file by workers since the slaves file is no longer referenced by tachyon's start/stop scripts.
          Hide
          evans_ye Evans Ye added a comment -

          No worry. I've the service scripts fixed in my environment. Will submit a patch tomorrow. I was just playing the Google code jam today, Ha

          Show
          evans_ye Evans Ye added a comment - No worry. I've the service scripts fixed in my environment. Will submit a patch tomorrow. I was just playing the Google code jam today, Ha
          Hide
          jayunit100 jay vyas added a comment - - edited

          thanks for reporting this evans.

          given other time constraints, im not sure we have tachony expertise "in house" to really integrate it properly .

          if you have an idea to fix this , thats great - if not, we may be deprecating tachyon from bigtop at some point soon... and just use apache ignite as a drop in replacement which seems to support both mapreduce , and also spark soon ... (we can always bring it back once the roadmap is clear, but right now im not sure how that project is evolving and so far it hasn't been super useful in bigtop ).

          Show
          jayunit100 jay vyas added a comment - - edited thanks for reporting this evans. given other time constraints, im not sure we have tachony expertise "in house" to really integrate it properly . if you have an idea to fix this , thats great - if not, we may be deprecating tachyon from bigtop at some point soon... and just use apache ignite as a drop in replacement which seems to support both mapreduce , and also spark soon ... (we can always bring it back once the roadmap is clear, but right now im not sure how that project is evolving and so far it hasn't been super useful in bigtop ).

            People

            • Assignee:
              evans_ye Evans Ye
              Reporter:
              evans_ye Evans Ye
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development