どうも!アプリケーション基盤チームの@yokotaso です。 2017/11/13 にサイボウズLiveの長時間にわたる障害が発生しご迷惑をおかけしました。 技術的な調査が一段落し、対応を進めております。 障害にいたった原因と対応のお話をさせていただきます。 簡単なまとめ Java8u152以降で、CPU負荷が高まる現象 Java標準のデシリアライズとSecurity Managerの相性が悪くなった 解決策は現時点では存在しない。サイボウズLiveでは、Java標準のデシリアライズをやめる準備段階 障害発生時の状況 障害発生の数時間前に、運用マシンのメンテナンスを行っておりました。 Javaのマイナーアップデート カーネルのアップデート その他、設定ファイルなどの更新 障害発生時には次のような現象が見られました。 JavaプロセスがCPU高負荷状態 MySQLに大量のロック及びエラーが
遅れてスミマセン Chromium Browser Advent Calendar 2017の7日目の記事です。 背景 E2E テストの構成をあらためて作り直す中で、最新の Chrome Headless を Java 環境で使うための手段が気になりました。 環境は Mac を前提としていますが、幸い Linux でも動作に問題は無いはずです。 記事は 2017/12 ベースの最新バージョンを利用しています。 今日ベースの最新は Selenide: 4.9 Selenium Java Driver (org.seleniumhq.seleniu.selenium-chrome-driver): 3.8.1 SeleniumWebDriver 2.34 です。 結論から言うと、少なくとも現時点では ChromeWebDriver Java 版も対応が終わっており、更に言語に応じた適切な Se
Overview Spek 2.x is a complete rewrite of Spek with Kotlin multiplatform support in mind. The DSL is also reworked into two distinct styles: specification and gherkin. A dedicated migration section and the list of breaking changes is provided. If you need the 1.x user guide then it can be found here. Stable builds are available at JCenter while development builds can be used by adding the follo
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 Spring Boot とは Spring ベースのアプリケーションを簡単に作れるようにした仕組み・フレームワーク ビルド結果が単一の jar ファイルにまとめられる 単一 jar のメリット AP サーバーが同梱されているので、環境ごとに AP サーバーを用意する必要がない java -jar で起動できる楽さ 単一 jar のデメリット AP サーバーも含め全ての依存ライブラリを内包するため、ファイルサイズが大きくなる jar サイズをがんばって減らしてみた 結果 結果 サイズ比較 どうやったのか? Java で Hello World はどうやりますか? 1.コードを書く
試しにこんなコード書いてみたんですけど、共有ロックの時にも排他ロックがかかってるようにしか見えないんすよね…。 内容としては、以下の処理を順にやってるつもり: a.dat, b.datへ書き込むスレッドを4つづつ作って排他ロック、a.datだったら書込み後に3000msスリープ a.dat, b.datを読み込むスレッドを4つづつ作って共有ロック、a.datだったら読み込み後に3000msスリープ 意図としては、後者はブロックせずに並行して全スレッドが走れるはず、と思ったんだけれど、どちらの場合もOverlappingFileLockExceptionになる。これでは排他ロックじゃないか。 ちなみに環境はLinuxとMacでJDK6。環境が共有ロック非対応なの?それとも単に何か勘違いしている? import java.nio.ByteBuffer; public class Test1 {
僕は、 Java の検査例外のコンセプトは素晴らしいと考えていますが、世間ではあまり好かれていないようです。 C# や Scala, Kotlin などの後続言語では採用されず、僕の知る限り Java 以降、検査例外(的なもの)を採用したメジャー言語は Swift だけです。 ただし、Swift の検査例外(的なもの)はいくつかの点で Java の検査例外と異なっています。 Swift は後続だけあって何かしらの改善を試みているわけです。その取り組みがおもしろいので、 Swift の検査例外的なものが Java の検査例外と何が違い、それがどのような意味を持つのかを紹介します。 throws 節でエラーの型を指定できない Java では
Facebookは、Javaのコードを静的に解析してマルチスレッドプログラミングで発生するデータ競合のバグを発見するツール「RacerD」をオープンソースでリリースした。 アプリケーションのレスポンスを改善するうえで、マルチスレッド化は重要な選択肢のひとつです。 その一方で、マルチスレッドのアプリケーションは十分に注意深くプログラミングしないと、変数の値が予期しないタイミングでほかのスレッドから書き換えられるなどの問題が紛れ込みやすいものです。 しかもマルチスレッドに起因する問題は再現が難しく、一般に発見するのが困難です。 RacerDリリース:Facebookで1000以上ものバグを発見 Facebookは、こうしたデータ競合の問題を、コードを静的解析することで発見し、警告してくれるツール「RacerD」をオープンソースで公開しました。 Facebookの説明によると、RacerDはロッ
これはTIS Engineer Advent Calendar 2015の19日目の記事である。 色々と遅延が噂されているjava 9だが、今のところ2017年3月リリースが有力視されている。(OpenJDK9のサイトや、2015/12/15のPublicKeyの記事を参照) 実際にエンタープライズシステムでjava 9を利用するようになるのはかなり先になるだろうが、java 9に導入される(と言われている)Module Systemは、javaの保守性を向上させる強力なツールになると思われる。これはlambdaやstreamのような、javaプログラムの表現能力を向上させる攻めの技術とは対照的だ。 OSGiとの類似性(2015/10/12のInfoQの記事を参照)が指摘されるなど、Module Systemの仕様が固まっているのかと言えば微妙な気がするが、とりあえず現在手に入るEarly
Java Thread Dump Analyzer Elevate JVM troubleshooting with fastThread, your intelligent thread dump analysis companion. Discover the industry's first machine learning-guided tool for seamless Java thread dump analysis. Detect and resolve JVM thread issues by harnessing AI Brilliance. Troubleshoot BLOCKED threads, Deadlocks, CPU spikes... Streamline thread dump analysis with automated REST API. Pro
Doma 2へようこそ Doma 2はJava 8+向けのデータベースアクセスフレームワークです。Domaにはさまざまな強みがあります。 コンパイル時にアノテーションプロセッサーを使用して、ソースコードを検証および生成します。 型安全なCriteria APIを提供します。 Kotlinをサポートします "two-way SQL"と呼ばれるSQLテンプレートをサポートします。 他のライブラリに依存しません。 このドキュメントは、以下のセクションで構成されています。 ユーザー向けドキュメンテーション Domaについて リンク集 私たちのドキュメントの改善とローカライズをお手伝いください。 ドキュメントに関する英語版および一般的な問題については、 GitHub リポジトリ に issue や pull request を追加してください。 日本語にローカライズするには、Crowdin プロジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く