NullPointerException

Issue #243 resolved
Andrey Kiyanovsky created an issue

Hi Fidel,

we are facing a critical issue, JIRA log

This exception is on "execute transition"/"change status" (example).

The first time I faced this issue it was self-fixed after upgrading the toolbox from 2.2.5 to 2.2.7.

Today we are facing the same issue in 2.2.7. After uninstalling toolbox JIRA went into "Service Temporarily Unavailable" mode. After restarting and installing 2.2.7 the problem was self-fixed.

Could you please investigate?

Thank, AK.

Comments (42)

  1. Fidel Castro Armario repo owner

    Hi Andrey,

    Can you please check whether you have a post-function writing into virtual field "Issue status", "Issue status (delayed writing)", "Execute transition" or "Execute transitions (delayed execution)" in a "Create Issue" transition before "Creates the issue originally" post-function?

    Please, check it in all your workflows, not only the one that is throwing the error.

  2. Andrey Kiyanovsky reporter

    Hi Fidel,

    Checked all three workflows - I don't have any post-functions in a Create issue transitions, only some validations.

  3. Fidel Castro Armario repo owner

    Andrey, can you please explain what do you mean by "JIRA went into "Service Temporarily Unavailable" mode?

  4. Andrey Kiyanovsky reporter

    After having uninstalled the toolbox, JIRA got unavailable with this text in Chrome. I can share the log.

  5. Andrey Kiyanovsky reporter

    There is one note. I remember the exact sequence of actions after which it happened. I ran "Released" transition (see the previous comment with "strange" transition). The issue was not transitioned into the next status as expected. And after that, the error started to arise when I tried to execute "issue status" or "execute transition" function.

  6. Andrey Kiyanovsky reporter

    There were two times I faced this issue. It was resolved with the following steps 1. Upgrading from 2.2.5 to 2.2.7 (without restarting JIRA) 2. Uninstalling 2.2.7, JIRA crashed, JIRA restarted, installed 2.2.27.

  7. Fidel Castro Armario repo owner

    Hi Andrey,

    The problem should have been solved in version 2.2.8_beta_2.

    Anyway, I haven't been able to reproduce the problem, so I would thank you if you could do some beta testing.

    Regards,

    Fidel

  8. Andrey Kiyanovsky reporter

    Hi Fidel,

    I also can't reproduce this error, it's floating. I've installed 2.2.8_beta2, the main workflow is working fine, let's see.

    Thank you very much!

  9. Andrey Kiyanovsky reporter

    Fidel, I have another suspicion. I run from a post-function a transition with a transition screen (which is not shown, of course). There is a warning that such auto-transitions should be avoided. Might be this the cause?

  10. Fidel Castro Armario repo owner

    The only reason I know for doing such a recommendation is that you probably expect a field to be set or edited, and will have validations that might not be satisfied.

    JIRA Workflow Toolbox allways repects conditions and validations, and if they are not satisfied, the auto-transition won't happen.

    In conclusion, I think that you shouldn't be reluctant to do auto-transition through transition with associated screen, provided you know what you are doing. I don't think it has anything to do with the problem.

    Anyway, thank you very much for your suggestion.

  11. Andrey Kiyanovsky reporter

    Fidel, I've noticed that 2.2.7 and 2.2.8_beta2 work much slower than 2.2.3. I have tested a complex Resolve transition: Resolve issue with 2.2.3 video - 4 sec (video) Resolve issue with 2.2.7 video - 8 sec (video) Resolve issue with 2.2.8_beta2 - 8 sec (video)

    This Resolve transition change the status of another subtask. Do you have a time out for "Change issue status"/"Execute transition" functions? Can it be reduced? Or maybe I can use a function without a timeout?

  12. Fidel Castro Armario repo owner

    Can you please attach screenshots of the validations and post-functions tabs of that transition? I want to see which features of the plugin are you using and how are they configured.

    Thanks.

  13. Andrey Kiyanovsky reporter

    There is a brief algorithm for post-function: Step 3 - find out current environment (bases on labels) Step 4 - find out current phase (bases on labels) Step 5 - select all subtasks within current environment and phase Step 6 - debug Step 7 - select next Open subtask Step 8 - move next subtask into To Do base on some conditions (project parameters) and parent's environment and phase Step 9 - transition parent issue base on its status, environment and phase

  14. Fidel Castro Armario repo owner

    Thanks for the detailed information.

    There isn't any intentional delay or timeout for issue transition from version 2.2.3 to 2.2.7. I suspect that the reason might a performance degradation in the parser in recent versions. You are doing extensive usage of it.

    Can you please tell me how long does it take transition "Done" with versions 2.2.6 and 2.2.3?

  15. Fidel Castro Armario repo owner

    Thank you for your helpful information. I'm going to study in detail the causes (very likely the parser), and possible optimizations.

  16. Andrey Kiyanovsky reporter

    Fidel, is it possible in JIRA to keep already parsed (compiled) code? It would increase the performance significantly.

  17. Fidel Castro Armario repo owner

    Andrey, that would be great improvement, but unfortunately it requires a very big development effort, and currently is not in the roadmap of the plugin.

    I will study the modifications made in the plugin from version 2.2.6 to 2.2.7, which seems to have triggered the performance degradation affecting your particular workflow. I'm not yet sure whether the cause is in the parser, it's only a suspect.

    Currently I'm working to release version 2.2.8 which fixes some important bugs and provides new parser functions. I will begin working in this issue in development of version 2.2.9.

  18. Andrey Kiyanovsky reporter

    Fidel, is it possible to apply changes related to NullPointerException to 2.2.6 especially for me while I'm waiting for 2.2.9?

  19. Andrey Kiyanovsky reporter

    Fidel, thanks a lot for such a quick fix! I'm installing it and let you know if it happens again!

  20. Fidel Castro Armario repo owner

    Hi Andrey,

    The parser has been refactorized for better performance in version 2.2.10_beta_7.

    Can you please try it, and let me know if it satisfies your performance requirements?

  21. Andrey Kiyanovsky reporter

    Hi, Fidel!

    Great news! I'll test it today/tomorrow and let you know, thanks a lot!

  22. Andrey Kiyanovsky reporter

    Fidel,

    I've got through my workflow - it works and it's incredibly fast! I've tested it in my sandbox environment, once I get back grom my vacation (in two weeks), I'll install it on the production environment.

    Thanks a lot, Fidel!

  23. Log in to comment