Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-1901

start-here.sh starts only one GC process even if more are defined

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.4.2, 1.4.3, 1.4.4, 1.5.0
    • Fix Version/s: 1.4.5, 1.5.1, 1.6.0
    • Component/s: gc, scripts
    • Labels:
    • Environment:

      Red Hat Enterprise Linux 6.3 64-bit

      Description

      Even when a second host is listed in the gc file, the gc process is only ever started on the first host listed in the gc file. The issue lies in lines 48-55 in start-here.sh as shown below:

      for host in $HOSTS
      do
          if [ ${host} = ${GC} ]
          then
              ${bin}/start-server.sh $GC gc "garbage collector"
              break
          fi
      done
      

      Simple fix:

      for host in $HOSTS
      do
          if grep -q "^${host}\$" $ACCUMULO_HOME/conf/gc
          then
              ${bin}/start-server.sh ${host} gc "garbage collector"
              break
          fi
      done
      

      This fix works in my 1.4.2 environment. stop-here.sh already sweeps all possible processes to kill them, so I assumed no fix was needed there, but on my last cluster shutdown I found the stop-all.sh script only stopped the GC on the Master host. That fix is still outstanding.

        Issue Links

          Activity

          Hide
          texpilot Terry Porter added a comment -

          Clearly I don't know how to format code here on JIRA ... sorry about that.

          Show
          texpilot Terry Porter added a comment - Clearly I don't know how to format code here on JIRA ... sorry about that.
          Hide
          busbey Sean Busbey added a comment -

          Formatting fixed.

          Is the GC role expecting there to be multiple instances? the manual doesn't really shed any light.

          Show
          busbey Sean Busbey added a comment - Formatting fixed. Is the GC role expecting there to be multiple instances? the manual doesn't really shed any light.
          Hide
          texpilot Terry Porter added a comment -

          Per this thread:
          http://mail-archives.apache.org/mod_mbox/accumulo-user/201311.mbox/%3cCAPnhrdvhgKL+vSK1s-Sq9V+14YZ1cP5kh=kX1+BhO9OKH1t2Mg@mail.gmail.com%3e

          Josh Elser looked at the code and stated multiple GC processes can run and they will use Zookeeper to perform failover (like the master process). I haven't tested failover part yet but hope to do so next week. I did configure gc to run on my standby master / secondary namenode and during cluster startup the gc process started as it should.

          Show
          texpilot Terry Porter added a comment - Per this thread: http://mail-archives.apache.org/mod_mbox/accumulo-user/201311.mbox/%3cCAPnhrdvhgKL+vSK1s-Sq9V+14YZ1cP5kh=kX1+BhO9OKH1t2Mg@mail.gmail.com%3e Josh Elser looked at the code and stated multiple GC processes can run and they will use Zookeeper to perform failover (like the master process). I haven't tested failover part yet but hope to do so next week. I did configure gc to run on my standby master / secondary namenode and during cluster startup the gc process started as it should.
          Hide
          busbey Sean Busbey added a comment -

          Excellent. Please reach out if you need any help with putting together your patch.

          Show
          busbey Sean Busbey added a comment - Excellent. Please reach out if you need any help with putting together your patch .
          Hide
          texpilot Terry Porter added a comment -

          Thanks Sean. I'm a newbie with git, so I want to ensure I do the commit step properly. My questions are:

          1. 'git help commit' says "even modified files must be 'added'" but the Accumulo Contributor instructions don't mention doing a 'git add' at all. Do I need to first to a 'git add' for the filename I'm changing / going to change?

          2. Step 5 "Make commits" mentions "referencing the issue name in the commit message", but the syntax shown doesn't include the -m switch that I see in the git commit help. I assume a more complete syntax example for my case would be:

          git commit -av -m "ACCUMULO-1901" bin/start-here.sh

          Or if I do it from the directory where my code change was done, do I even need to include the filename? Or ever? (meaning does git commit everything in its index automatically?) Again, I'm brand new to git and want to do this right the first time.

          Thanks for the help!

          Show
          texpilot Terry Porter added a comment - Thanks Sean. I'm a newbie with git, so I want to ensure I do the commit step properly. My questions are: 1. 'git help commit' says "even modified files must be 'added'" but the Accumulo Contributor instructions don't mention doing a 'git add' at all. Do I need to first to a 'git add' for the filename I'm changing / going to change? 2. Step 5 "Make commits" mentions "referencing the issue name in the commit message", but the syntax shown doesn't include the -m switch that I see in the git commit help. I assume a more complete syntax example for my case would be: git commit -av -m " ACCUMULO-1901 " bin/start-here.sh Or if I do it from the directory where my code change was done, do I even need to include the filename? Or ever? (meaning does git commit everything in its index automatically?) Again, I'm brand new to git and want to do this right the first time. Thanks for the help!
          Hide
          busbey Sean Busbey added a comment -

          Happy to help Terry. I was going to recommend we take this to the dev@accumulo list. Since you posted things over there, I'll respond in kind.

          Show
          busbey Sean Busbey added a comment - Happy to help Terry. I was going to recommend we take this to the dev@accumulo list. Since you posted things over there, I'll respond in kind.
          Hide
          texpilot Terry Porter added a comment -

          Thanks for your excellent reply Sean, I appreciate all the time you took and learned a lot from it. I've prepared the patch for 1.4.5 and will submit it in a second. I'd appreciate if you could take a look and see how I did.

          If it looks right, do I repeat against the 1.5.1 and 1.6.0 Snapshots, or will you guys merge this patch into those branches?

          Show
          texpilot Terry Porter added a comment - Thanks for your excellent reply Sean, I appreciate all the time you took and learned a lot from it. I've prepared the patch for 1.4.5 and will submit it in a second. I'd appreciate if you could take a look and see how I did. If it looks right, do I repeat against the 1.5.1 and 1.6.0 Snapshots, or will you guys merge this patch into those branches?
          Hide
          texpilot Terry Porter added a comment -

          Corrects start-here.sh to spin up multiple GCs if defined. Still need to resolve shutdown issue, as stop-all.sh seems to only stop the GC on the master host.

          Show
          texpilot Terry Porter added a comment - Corrects start-here.sh to spin up multiple GCs if defined. Still need to resolve shutdown issue, as stop-all.sh seems to only stop the GC on the master host.
          Hide
          texpilot Terry Porter added a comment -

          (the above comment was included in my "Submit Patch" action; didn't know it would show up here or I would have been a tad more descriptive)

          Show
          texpilot Terry Porter added a comment - (the above comment was included in my "Submit Patch" action; didn't know it would show up here or I would have been a tad more descriptive)
          Hide
          elserj Josh Elser added a comment -

          Terry Porter, we'll merge it through. If there are excessive conflicts between versions, we might ask for a new patch for a given version.

          Show
          elserj Josh Elser added a comment - Terry Porter , we'll merge it through. If there are excessive conflicts between versions, we might ask for a new patch for a given version.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 4976a935f2566ee648d20c3bc5381bc22edc51ec in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=4976a93 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 4976a935f2566ee648d20c3bc5381bc22edc51ec in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=4976a93 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.4.5-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/master from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6f07d7aaacaa93ce8dbcb1747bc1bccdfade008b in branch refs/heads/master from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6f07d7a ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/master from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/master from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/master from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/master from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 4976a935f2566ee648d20c3bc5381bc22edc51ec in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=4976a93 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 4976a935f2566ee648d20c3bc5381bc22edc51ec in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=4976a93 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/1.5.1-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit ffb26a25ffc94d28a9e1de93054ed5a8590cb943 in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=ffb26a2 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit d8b4ba9424d5cb7b2f1260f63386b2c7f478b306 in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=d8b4ba9 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ]

          ACCUMULO-1901 treat the gc start/stop like the redundant masters

          Show
          jira-bot ASF subversion and git services added a comment - Commit 487eec38f41429c61aca2699b44c349c1836bc7d in branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=487eec3 ] ACCUMULO-1901 treat the gc start/stop like the redundant masters
          Hide
          kturner Keith Turner added a comment -

          I was looking into merging the patch in ACCUMULO-1785 and it conflicted with this change. While looking at this change for 1.4.5 I noticed it changes the conf/gc file from optional to required. I do not think this should be done in a bug fix release.

          Show
          kturner Keith Turner added a comment - I was looking into merging the patch in ACCUMULO-1785 and it conflicted with this change. While looking at this change for 1.4.5 I noticed it changes the conf/gc file from optional to required. I do not think this should be done in a bug fix release.
          Hide
          billie.rinaldi Billie Rinaldi added a comment -

          I think we should keep the gc file optional.

          Show
          billie.rinaldi Billie Rinaldi added a comment - I think we should keep the gc file optional.
          Hide
          elserj Josh Elser added a comment - - edited

          What happens when you have no gc file? No gc process? Use the master instead?

          To be honest, I never realized that the gc file was optional.

          Show
          elserj Josh Elser added a comment - - edited What happens when you have no gc file? No gc process? Use the master instead? To be honest, I never realized that the gc file was optional.
          Hide
          billie.rinaldi Billie Rinaldi added a comment -

          I think it just doesn't start a gc process. Actually, I guess keeping the file optional isn't that important to me since we have the example configurations to copy. Prior to that, I recall it being nice to be able to get started with a minimal configuration.

          Show
          billie.rinaldi Billie Rinaldi added a comment - I think it just doesn't start a gc process. Actually, I guess keeping the file optional isn't that important to me since we have the example configurations to copy. Prior to that, I recall it being nice to be able to get started with a minimal configuration.
          Hide
          ecn Eric Newton added a comment -

          It used to use the masters file. Specifically, just the first entry in the masters file.

          Show
          ecn Eric Newton added a comment - It used to use the masters file. Specifically, just the first entry in the masters file.
          Hide
          texpilot Terry Porter added a comment -

          I think it's good that this was reopened – I just found that the secondary gc doesn't get started when start-all.sh is used. It works if a service script is used, which I use and that's why I missed it. The issue is on line 55 of start-all.sh; that bit needs to look more like lines 50-53 for multiple masters.

          With respect to the gc file being mandatory or optional: in bin/config.sh, the GC variable is set to the value of the MASTER1 variable. So I think the gc file can remain optional if the master file is mandatory. To avoid any runtime script errors from being reported, start-here.sh and start-all.sh should check to see if the gc file exists; if it does, process it; if not, run the traditional command to start the GC on the server found in variables $GC.

          Tonight I'll change the start-here.sh script to check for the existence of the gc file as described above, and make similar changes to the start-all.sh entry on line 55, and see if I missed any changes needed in any of the stop-* scripts.

          Show
          texpilot Terry Porter added a comment - I think it's good that this was reopened – I just found that the secondary gc doesn't get started when start-all.sh is used. It works if a service script is used, which I use and that's why I missed it. The issue is on line 55 of start-all.sh; that bit needs to look more like lines 50-53 for multiple masters. With respect to the gc file being mandatory or optional: in bin/config.sh, the GC variable is set to the value of the MASTER1 variable. So I think the gc file can remain optional if the master file is mandatory. To avoid any runtime script errors from being reported, start-here.sh and start-all.sh should check to see if the gc file exists; if it does, process it; if not, run the traditional command to start the GC on the server found in variables $GC. Tonight I'll change the start-here.sh script to check for the existence of the gc file as described above, and make similar changes to the start-all.sh entry on line 55, and see if I missed any changes needed in any of the stop-* scripts.
          Hide
          busbey Sean Busbey added a comment -

          Part of the change in behavior on 1.4.5-SNAPSHOT is that, as is, when starting in stand-alone mode there won't be a GC process.

          Terry Porter, falling back to the GC variable won't work ATM because the variable just doesn't exit. Rather than reinstate that variable, I'd recommend you look to make the gc file optional by following the same approach used with the tracer file. Namely, in bin/config.sh if ACCUMULO_VERIFY_ONLY isn't set then you write out a gc file that contains just the first master from the masters file.

          Show
          busbey Sean Busbey added a comment - Part of the change in behavior on 1.4.5-SNAPSHOT is that, as is, when starting in stand-alone mode there won't be a GC process. Terry Porter , falling back to the GC variable won't work ATM because the variable just doesn't exit. Rather than reinstate that variable, I'd recommend you look to make the gc file optional by following the same approach used with the tracer file. Namely, in bin/config.sh if ACCUMULO_VERIFY_ONLY isn't set then you write out a gc file that contains just the first master from the masters file.
          Hide
          mdrob Mike Drob added a comment -

          Terry Porter, are you still working on this? I can pick it up if other priorities have gotten in the way.

          Show
          mdrob Mike Drob added a comment - Terry Porter , are you still working on this? I can pick it up if other priorities have gotten in the way.
          Hide
          mdrob Mike Drob added a comment -

          Working on cleaning up the code paths here, I'm seeking some confirmation - running all any of tracers, gc, and monitor should be completely optional, right?

          Show
          mdrob Mike Drob added a comment - Working on cleaning up the code paths here, I'm seeking some confirmation - running all any of tracers, gc, and monitor should be completely optional, right?
          Hide
          texpilot Terry Porter added a comment -

          Mike Drob, if you have the bandwidth, that would be great. It's crunch time for project delivery and I've had no spare time at home. You're far more knowledgeable than I am on Accumulo, but if there's anything I can help with, let me know. Thanks!

          Show
          texpilot Terry Porter added a comment - Mike Drob, if you have the bandwidth, that would be great. It's crunch time for project delivery and I've had no spare time at home. You're far more knowledgeable than I am on Accumulo, but if there's anything I can help with, let me know. Thanks!
          Hide
          busbey Sean Busbey added a comment -

          Mike Drob, the original behavior of the start scripts in 1.4.x was that specifying a host for tracers, gc, and monitor was all optional. In the case of not specifying a config file for any of these, the first host listed in the masters file was used instead.

          If you don't use "start-all.sh" (or "start-here.sh" on the first host in the masters file) then running said processes would be optional.

          Show
          busbey Sean Busbey added a comment - Mike Drob , the original behavior of the start scripts in 1.4.x was that specifying a host for tracers, gc, and monitor was all optional. In the case of not specifying a config file for any of these, the first host listed in the masters file was used instead. If you don't use "start-all.sh" (or "start-here.sh" on the first host in the masters file) then running said processes would be optional.
          Hide
          mdrob Mike Drob added a comment -

          I believe this was re-resolved with ACCUMULO-2015

          Show
          mdrob Mike Drob added a comment - I believe this was re-resolved with ACCUMULO-2015

            People

            • Assignee:
              texpilot Terry Porter
              Reporter:
              texpilot Terry Porter
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Development