Mike, Denis, Having error codes certainly makes sense. Please send the ticket link, and we'll go from there.
-Val On Mon, Jan 4, 2021 at 7:50 PM Denis Magda <dma...@apache.org> wrote: > Do back this idea up of having a glossary of common errors. There is even > a ticket for that I created a couple of years ago. Can search for it later. > > Val, how about the 3.0 suggestion? Let’s introduce error codes. > > On Monday, January 4, 2021, Michael Cherkasov <michael.cherka...@gmail.com> > wrote: > >> Hi Ilya, >> >> It's about logs only, I don't think we need this at the API level. Error >> codes will make the solutions more searchable. >> Plus we can build troubleshooting guides based on it, it will help us >> gather information from user list and StackOverflow. >> >> Even a solution for trivial cases will be helpful, once I was requested >> to join the call late evening because ignite failed to copy WAL file and >> there just was no space on the disk. >> While the error was obvious for me, it's not obvious for all users. >> >> Let's start from something simple, just assign error codes to >> absolutely all exceptions first. So next year or two user list will full of >> error codes and solutions for them. >> >> Might be it's a change for Ignite 3.0? @Val, I think you can help with >> this question. >> >> Any thoughts/comments? >> >> Thanks, >> Mike. >> >> сб, 2 янв. 2021 г. в 12:18, Ilya Kasnacheev <ilya.kasnach...@gmail.com>: >> >>> Hello! >>> >>> I don't think there's a direct link between an exception thrown in >>> depths of Ignite code, and specific error which may be reported to user. >>> >>> A notorious example is CorruptedTreeException which is known to be >>> thrown due to incorrect field type in binary object or bad SQL cast. So we >>> could document it "If you get IGN13 error this means your persistence is >>> corrupted beyond repair. This, or you have a typo in your SQL." - of course >>> it will not help anyone. >>> >>> This means we can't get to the desired result by application of 1. >>> >>> There's got to be a different plan. First of all, we need to decide >>> what's our target. Is it log, or is it API? >>> >>> Regards, >>> -- >>> Ilya Kasnacheev >>> >>> >>> пт, 1 янв. 2021 г. в 02:07, Michael Cherkasov < >>> michael.cherka...@gmail.com>: >>> >>>> Hi folks, >>>> >>>> I was thinking how we can simplify Ignite clusters troubleshooting and >>>> the best of course if the cluster can do self-healing, like transaction >>>> cancellation if tx blocks exchange or note restart on OOM error. However, >>>> sometimes those mechanisms don't work well or user interaction is required. >>>> Not all errors are obvious for users and it's not clear what actions >>>> required to restore the cluster. >>>> If you google exceptions or error messages and the results can be >>>> ambiguous and not certain because different errors can have similar >>>> exceptions and you need to analyze stack trace to distinguish them. So >>>> googling isn't a straight and easy process in this case. >>>> Almost all major DBs have error codes[1][2][3] >>>> Let's do the same for Ignite, error codes easy to google, so user/dev >>>> list will be significantly more useful. We can have documentation with an >>>> error code registry and solutions for the errors. >>>> >>>> To implement this we need to do the following: >>>> 1. all error messages/exceptions must have a unique error code(so, all >>>> new PR must NOT be accepted if any exceptions/errors don't have error >>>> codes.) >>>> 2. to avoid error code duplication, all error codes will be stored as >>>> files under some folder. >>>> 3. those files can be a source of documentation for this error code. >>>> >>>> All this files can be empty, but futher, if exception will apper on >>>> user list and someone will find solution, first, other people can easialy >>>> google it by error code, and second, we can build documentation for this >>>> error code base on user-list thread/stackoverflow/other source. >>>> >>>> Any thoughts? >>>> >>>> [1] Mysql >>>> https://dev.mysql.com/doc/refman/8.0/en/error-message-elements.html >>>> [2] OracleDB https://docs.oracle.com/pls/db92/db92.error_search >>>> [3] PostgreSQL >>>> https://www.postgresql.org/docs/10/errcodes-appendix.html >>>> >>>> Thanks, >>>> Mike. >>>> >>> > > -- > - > Denis > >