Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

サービスのカスタマイズが保存できない #634

Closed
tnaoki0529 opened this issue Feb 7, 2017 · 6 comments
Closed

サービスのカスタマイズが保存できない #634

tnaoki0529 opened this issue Feb 7, 2017 · 6 comments

Comments

@tnaoki0529
Copy link

1.8.0preにおいて
サービスのカスタマイズを保存すると下記URLにてホワイトアウトする現象が起きています。

/admin.customservice/save

@koda-masaru
Copy link
Contributor

ご連絡ありがとうございます。

Knowledgeでは、Tomcat起動時にデータベースのマイグレーションなどバージョンアップに
必要な処理を自動で実行しています。
その処理の中で、サービスカスタマイズ用のテーブル(SERVICE_CONFIGS)を追加するはず
なのですが、うまくいってないかもしれません。

データベースに「SERVICE_CONFIGS」テーブルはありますでしょうか?

また、以下のログもご確認いただきたいです。

Knowledgeのデータを格納するディレクトリ(※)に logs というディレクトリがあると思います。
その中に「app.log」というファイルが出力されていると思います。
このファイルに、以下のようにデータベースのマイグレーション処理の実行ログが記載されます。

ログにエラーがでていないでしょうか?

  • 以下のようにログが出ていると思います
INFO  2017-02-07 23:28:55,582 [InitializeDao(43)] Database initialize start.
INFO  2017-02-07 23:28:55,741 [InitializeDao(49)] /org/support/project/knowledge/deploy/v1_8_0/migrate2.sql is loaded.
INFO  2017-02-07 23:28:55,741 [InitializeDao(51)] Database initialize finish.
INFO  2017-02-07 23:28:55,841 [InitDB(136)] Migrate to 1.8.1
INFO  2017-02-07 23:28:55,860 [InitializeDao(43)] Database initialize start.
INFO  2017-02-07 23:28:55,869 [InitializeDao(49)] /org/support/project/knowledge/deploy/v1_8_0/migrate3.sql is loaded.
INFO  2017-02-07 23:28:55,869 [InitializeDao(51)] Database initialize finish.
INFO  2017-02-07 23:28:55,870 [InitDB(136)] Migrate to 1.8.2

※ データディレクトリについては、以下を参照願います。
https://support-project.org/knowledge_info/open.manual/page/backup

@tnaoki0529
Copy link
Author

tnaoki0529 commented Feb 8, 2017

ご回答ありがとうございます。
まず、一つ目は文字数の部分でオーバーしているようでした。
日本語にしていたため長すぎたようです。
改善していただけると嬉しです。

以下、ログ

----- SQL Infomation -----
[sql]UPDATE SERVICE_CONFIGS SET SERVICE_LABEL = ? , SERVICE_ICON = ? , SERVICE_IMAGE = ? , INSERT_USER = ? , INSERT_DATETIME = ? , UPDATE_USER = ? , UPDATE_DATETIME = ? , DELETE_FLAG = ? WHERE SERVICE_NAME = ?
[params]
        [params][0]運用チームのナレッジ
        [params][1]fa-book
        [params][2]null
        [params][3]0
        [params][4]2017-02-07 16:23:52.993
        [params][5]2
        [params][6]2017-02-08 11:43:42.692
        [params][7]0
        [params][8]knowledge
[execute]UPDATE SERVICE_CONFIGS SET SERVICE_LABEL = ◯◯チームのナレッジ , SERVICE_ICON = fa-book , SERVICE_IMAGE = null , INSERT_USER = 0 , INSERT_DATETIME = 2017-02-07 16:23:52.993 , UPDATE_USER = 2 , UPDATE_DATETIME = 2017-02-08 11:43:42.692 , DELETE_FLAG = 0 WHERE SERVICE_NAME = knowledge

ERROR 2017-02-08 20:43:42,698 [ControlManagerFilter(206)] ERROR SEND
ERROR 2017-02-08 20:43:42,699 [LoggingFilter(64)] Any exception is thrown. [javax.servlet.ServletException]
javax.servlet.ServletException: javax.servlet.ServletException: org.support.project.common.exception.SystemException:
        at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:300)
        at org.support.project.knowledge.listener.CloseAbleAuthenticationFilter.doFilter(CloseAbleAuthenticationFilter.java:98)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.support.project.web.filter.LoggingFilter.doFilter(LoggingFilter.java:62)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.support.project.web.filter.SeqFilter.doFilter(SeqFilter.java:31)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.support.project.web.filter.EncodingFilter.doFilter(EncodingFilter.java:36)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.servlet.ServletException: org.support.project.common.exception.SystemException:
        at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:216)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.support.project.web.filter.MultipartFilter.doFilter(MultipartFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:293)
        ... 28 more
Caused by: org.support.project.common.exception.SystemException:
        at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:136)
        at org.support.project.web.common.InvokeTarget.invoke(InvokeTarget.java:106)
        at org.support.project.web.filter.ControlManagerFilter.doInvoke(ControlManagerFilter.java:345)
        at org.support.project.web.filter.ControlFilter.invoke(ControlFilter.java:31)
        at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:184)
        ... 34 more
Caused by: java.lang.reflect.InvocationTargetException
        at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:132)
        ... 38 more
Caused by: org.support.project.ormapping.exception.ORMappingException: ERROR: value too long for type character varying(24) [cause] ERROR: value too long for type character varying(24)
----- SQL Infomation -----

2つ目は、
文字数がオーバーしてなく、更新出来ているようですが、save画面でホワイトアウトしているようです。

INFO  2017-02-08 20:57:07,868 [LoggingFilter(100)] GET  http://*********:8080/knowledge/admin.customservice/config   200     126.236.69.59   13[ms]
INFO  2017-02-08 20:57:08,066 [LoggingFilter(100)] GET  http://*********:8080/knowledge/open.account/icon/2  200     126.236.69.59   1[ms]
INFO  2017-02-08 20:57:13,130 [LoggingFilter(100)] POST http://*********:8080/knowledge/admin.customservice/save     200     126.236.69.59   85[ms]
INFO  2017-02-08 20:57:22,596 [LoggingFilter(100)] GET  http://*********:8080/knowledge/admin.customservice/save     404     126.236.69.59   0[ms]
INFO  2017-02-08 20:57:22,798 [LoggingFilter(100)] GET  http://*********:8080/knowledge/open.account/icon/2  200     126.236.69.59   3[ms]```

@koda-masaru
Copy link
Contributor

ご連絡ありがとうございます。
文字数オーバーの件は、バリデーションチェックをかけ忘れていたことが原因ですね。
バリデーションチェックを追加しようと思います。

ホワイトアウトの件は、デモ環境でも発生することを確認しました。
ソースを解析しているのですが、どうやら処理の一部でスレッドセーフに
なっていないところがあり、それが原因で発生しているのかも(?)です。

もう少し調査をして修正版をだそうと思います。

@koda-masaru koda-masaru added this to the v1.8 milestone Feb 8, 2017
@tnaoki0529
Copy link
Author

御確認ありがとうございます。
私自身が知識がなく、開発に参加できなく申し訳ございませんがよろしくお願いします。

@koda-masaru
Copy link
Contributor

原因解析中です。以下メモです。

  • Chromeだとホワイトアウト
  • FireFoxだと問題なく動作できる

ブラウザで動作が変わる?

@tnaoki0529
Copy link
Author

おっしゃる通り
私の方でもブラウザで動作変わりました。
FFは問題ないです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants