ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

HTTP job won't end

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by Scott Klement View Post
    FWIW, status code 4 means that you tried to generate more JSON after the document was complete. This isn't allowed by JSON spec, so the generator will send that error and refuse to create the element.
    That's more helpful. Thanks.

    Comment


    • #17
      Originally posted by Scott Klement View Post
      FWIW, status code 4 means that you tried to generate more JSON after the document was complete. This isn't allowed by JSON spec, so the generator will send that error and refuse to create the element.
      Scott,

      To be clear, does this mean that the program tried to start a new json object/array/element after yajl_genClose() is called, or after you close the original JSON object (ie, the final } or ])?

      PS - I accidentally found out I can edit other people's posts. may be a BB setting?

      Comment


      • #18
        No, not after yajl_genClose().. that would be a different error, because there's no generator in that case to even call the YAJL routines under.


        This is a valid JSON document:

        Code:
        {
           "field": "value",
           "another": "another value"
        }
        You'd generate this with beginObject, addChar, addChar, endObject.

        Now imagine you tried to add an an additional field after the endObject... you can't, it's not possible.

        Comment


        • #19
          Code:
          Opt Subsystem/Job User Type CPU % Function Status
          XXXXXXXXXX QTMHHTP1 BCI 47.4 THDW
          XXXXXXXXXX QTMHHTTP BCH .0 PGM-QZHBMAIN SIGW
          XXXXXXXXXX QTMHHTTP BCI .0 PGM-QZSRLOG SIGW
          XXXXXXXXXX QTMHHTTP BCI .0 PGM-QZSRHTTP SIGW
          XXXXXXXXXX QTMHHTP1 BCI .0 PGM-jvmStartPa TIMW
          XXXXXXXXXX QTMHHTP1 BCI .0 PGM-QZSRCGI TIMW
          XXXXXXXXXX QTMHHTTP BCI .0 PGM-QZSRHTTP DEQW
          XXXXXXXXXX QTMHHTP1 BCI .0 PGM-QZSRCGI TIMW
          XXXXXXXXXX QTMHHTP1 BCI .0 PGM-QZSRCGI TIMW
          [/QUOTE]


          This is still an occasional problem for us. It happened last week, where I had to end the subsystem to get the job to end. Today I made sure to try and end the job *controlled, but after an hour I'm giving up and going to attempt *immediate. Then I'll probably have to end abnormal again.

          No one else experiences this? I never did until last January. Now I've seen it 3 or 4 times.

          Your friends list is empty!

          Comment


          • #20
            Not like that, no.

            I have a problem when I end something *IMMED where the job never ends, but it does not use high CPU time.

            I would guess that you have a program running via the CGI interface (that's why you have userid=QTMHHTP1) and it is getting stuck in a loop or similar. You can't kill it via *CNTRLD because it is stuck in a loop and doesn't look for the shut down signal, and you can't kill it via *IMMED because HTTP server jobs never work with *IMMED. So you have a bad situation. This is just a guess, though, and if that is the problem you could fix the CGI code.

            Comment


            • #21
              Scott, I understand what you're saying, but these jobs I can't end never have a call stack.
              Your friends list is empty!

              Comment


              • #22
                All I can suggest, then, is to report it to IBM

                Comment


                • #23
                  "you can't kill it via *IMMED because HTTP server jobs never work with *IMMED. So you have a bad situation."


                  Scott, by bad situation, could that include commits being rolled back? I've heard once or twice today about users missing some changes they've made to quotes in our system. I don't do much to update files with SQL, but I'm wondering me ending the HTTP server job could have done that? Regular CHAIN/UPDATE changes don't get rolled back, do they?
                  Your friends list is empty!

                  Comment


                  • #24
                    Whether changes are rolled back do not depend on wether they are executed by SQL or native I/O but whether they are executed under commitment control.
                    If you are using commitment control, all changes made under commitment control (SQL with compile option/set option/environment COMMIT other than *NONE and native I/O with keyword commit in the F-Specs) are rolled back at an abnormal job-end.

                    Birgitta

                    Comment


                    • #25
                      Originally posted by mjhaston View Post
                      Scott, by bad situation, could that include commits being rolled back? I've heard once or twice today about users missing some changes they've made to quotes in our system. I don't do much to update files with SQL, but I'm wondering me ending the HTTP server job could have done that? Regular CHAIN/UPDATE changes don't get rolled back, do they?
                      Err... well, any time you end a job (doesn't matter if its this HTTP server situation or not) when there's data under committment control that hasn't been committed, it'll be rolled back. That's sort of the point of committment control.

                      It doesn't matter if its SQL or native I/O (CHAIN/UPDATE) -- if its under committment control and hasn't been committed, it'll be rolled back.... like Birgitta said.

                      Comment


                      • #26
                        Since I'm running into this again, I figure I'd ask. How far back would these roll backs go? As long as this HTTP instance has been active? I just checked and by default our SQL programs are compiled with COMMIT(*CHG). It appears anywhere I use SQL to do an update or delete, I add "with nc" to my statement. But there are many other places in these programs where I do a native WRITE or UPDATE.

                        I've made copies of a few key files updated by this instance. If rollbacks occur, I'm hoping I can do some compares and find them.
                        Your friends list is empty!

                        Comment

                        Working...
                        X