{"push_id":2209319359,"size":51,"distinct_size":22,"ref":"refs/heads/SPARK-22750","head":"c650196a4c0c4391d3112678803bd601af9aa5fb","before":"e2725d2ac8c7c66fb99332414b25f549de42b40f","commits":[{"sha":"58f7c825ae9dd2e3f548a9b7b4a9704f970dde5b","author":{"name":"Zheng RuiFeng","email":"688fbc7eb0ddb0dce0ccb704b29547c7b3cab719@foxmail.com"},"message":"[SPARK-20849][DOC][FOLLOWUP] Document R DecisionTree - Link Classification Example\n\n## What changes were proposed in this pull request?\nin https://github.com/apache/spark/pull/18067, only the regression example is linked\n\nthis pr link decision tree classification example to the doc\n\nping felixcheung\n\n## How was this patch tested?\nlocal build of docs\n\n![default](https://user-images.githubusercontent.com/7322292/33922857-9b00fdd0-e008-11e7-92c2-85a3de52ea8f.png)\n\nAuthor: Zheng RuiFeng <ruifengz@foxmail.com>\n\nCloses #19963 from zhengruifeng/r_examples.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/58f7c825ae9dd2e3f548a9b7b4a9704f970dde5b"},{"sha":"f6bcd3e53fe55bab38383cce8d0340f6c6191972","author":{"name":"Wenchen Fan","email":"51df79715bab6f96b68cf2b8813ef1aaa5547bdb@databricks.com"},"message":"[SPARK-22767][SQL] use ctx.addReferenceObj in InSet and ScalaUDF\n\n## What changes were proposed in this pull request?\n\nWe should not operate on `references` directly in `Expression.doGenCode`, instead we should use the high-level API `addReferenceObj`.\n\n## How was this patch tested?\n\nexisting tests\n\nAuthor: Wenchen Fan <wenchen@databricks.com>\n\nCloses #19962 from cloud-fan/codegen.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/f6bcd3e53fe55bab38383cce8d0340f6c6191972"},{"sha":"8eb5609d8d961e54aa1ed0632f15f5e570fa627a","author":{"name":"zhoukang","email":"57146583828679e79d5137f9629c77d17d2b14a0@gmail.com"},"message":"[SPARK-22754][DEPLOY] Check whether spark.executor.heartbeatInterval bigger…\n\n… than spark.network.timeout or not\n\n## What changes were proposed in this pull request?\n\nIf spark.executor.heartbeatInterval bigger than spark.network.timeout,it will almost always cause exception below.\n`Job aborted due to stage failure: Task 4763 in stage 3.0 failed 4 times, most recent failure: Lost task 4763.3 in stage 3.0 (TID 22383, executor id: 4761, host: xxx): ExecutorLostFailure (executor 4761 exited caused by one of the running tasks) Reason: Executor heartbeat timed out after 154022 ms`\nSince many users do not get that point.He will set spark.executor.heartbeatInterval incorrectly.\nThis patch check this case when submit applications.\n\n## How was this patch tested?\nTest in cluster\n\nAuthor: zhoukang <zhoukang199191@gmail.com>\n\nCloses #19942 from caneGuy/zhoukang/check-heartbeat.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/8eb5609d8d961e54aa1ed0632f15f5e570fa627a"},{"sha":"c5a4701acc6972ed7ccb11c506fe718d5503f140","author":{"name":"gatorsmile","email":"ea6589371ad7a107e4268706d7d8403e3ba585bb@gmail.com"},"message":"Revert \"[SPARK-21417][SQL] Infer join conditions using propagated constraints\"\n\nThis reverts commit 6ac57fd0d1c82b834eb4bf0dd57596b92a99d6de.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/c5a4701acc6972ed7ccb11c506fe718d5503f140"},{"sha":"1abcbed678c2bc4f05640db2791fd2d84267d740","author":{"name":"Wang Gengliang","email":"0e8d6d10d3df7d3ddc88549e22e9db696f9a574b@gmail.com"},"message":"[SPARK-22763][CORE] SHS: Ignore unknown events and parse through the file\n\n## What changes were proposed in this pull request?\n\nWhile spark code changes, there are new events in event log: #19649\nAnd we used to maintain a whitelist to avoid exceptions: #15663\nCurrently Spark history server will stop parsing on unknown events or unrecognized properties. We may still see part of the UI data.\nFor better compatibility, we can ignore unknown events and parse through the log file.\n\n## How was this patch tested?\nUnit test\n\nAuthor: Wang Gengliang <ltnwgl@gmail.com>\n\nCloses #19953 from gengliangwang/ReplayListenerBus.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/1abcbed678c2bc4f05640db2791fd2d84267d740"},{"sha":"0bdb4e516c425ea7bf941106ac6449b5a0a289e3","author":{"name":"German Schiavon","email":"1c143b8c2df6210ab3449945a451b7e46f474373@gmail.com"},"message":"[SPARK-22574][MESOS][SUBMIT] Check submission request parameters\n\n## What changes were proposed in this pull request?\n\nPR closed with all the comments -> https://github.com/apache/spark/pull/19793\n\nIt solves the problem when submitting a wrong CreateSubmissionRequest to Spark Dispatcher was causing a bad state of Dispatcher and making it inactive as a Mesos framework.\n\nhttps://issues.apache.org/jira/browse/SPARK-22574\n\n## How was this patch tested?\n\nAll spark test passed successfully.\n\nIt was tested sending a wrong request (without appArgs) before and after the change. The point is easy, check if the value is null before being accessed.\n\nThis was before the change, leaving the dispatcher inactive:\n\n```\nException in thread \"Thread-22\" java.lang.NullPointerException\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler.getDriverCommandValue(MesosClusterScheduler.scala:444)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler.buildDriverCommand(MesosClusterScheduler.scala:451)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler.org$apache$spark$scheduler$cluster$mesos$MesosClusterScheduler$$createTaskInfo(MesosClusterScheduler.scala:538)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler$$anonfun$scheduleTasks$1.apply(MesosClusterScheduler.scala:570)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler$$anonfun$scheduleTasks$1.apply(MesosClusterScheduler.scala:555)\n\tat scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)\n\tat scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler.scheduleTasks(MesosClusterScheduler.scala:555)\n\tat org.apache.spark.scheduler.cluster.mesos.MesosClusterScheduler.resourceOffers(MesosClusterScheduler.scala:621)\n```\n\nAnd after:\n\n```\n  \"message\" : \"Malformed request: org.apache.spark.deploy.rest.SubmitRestProtocolException: Validation of message CreateSubmissionRequest failed!\\n\\torg.apache.spark.deploy.rest.SubmitRestProtocolMessage.validate(SubmitRestProtocolMessage.scala:70)\\n\\torg.apache.spark.deploy.rest.SubmitRequestServlet.doPost(RestSubmissionServer.scala:272)\\n\\tjavax.servlet.http.HttpServlet.service(HttpServlet.java:707)\\n\\tjavax.servlet.http.HttpServlet.service(HttpServlet.java:790)\\n\\torg.spark_project.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)\\n\\torg.spark_project.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)\\n\\torg.spark_project.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)\\n\\torg.spark_project.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)\\n\\torg.spark_project.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)\\n\\torg.spark_project.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\\n\\torg.spark_project.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)\\n\\torg.spark_project.jetty.server.Server.handle(Server.java:524)\\n\\torg.spark_project.jetty.server.HttpChannel.handle(HttpChannel.java:319)\\n\\torg.spark_project.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)\\n\\torg.spark_project.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)\\n\\torg.spark_project.jetty.io.FillInterest.fillable(FillInterest.java:95)\\n\\torg.spark_project.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)\\n\\torg.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)\\n\\torg.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)\\n\\torg.spark_project.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)\\n\\torg.spark_project.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)\\n\\torg.spark_project.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)\\n\\tjava.lang.Thread.run(Thread.java:745)\"\n```\n\nAuthor: German Schiavon <germanschiavon@gmail.com>\n\nCloses #19966 from Gschiavon/fix-submission-request.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/0bdb4e516c425ea7bf941106ac6449b5a0a289e3"},{"sha":"ba0e79f57caa279773fb014b7883ee5d69dd0a68","author":{"name":"Liang-Chi Hsieh","email":"9f98897f009ec1944a62ee7d389f9f5b1873efea@gmail.com"},"message":"[SPARK-22772][SQL] Use splitExpressionsWithCurrentInputs to split codes in elt\n\n## What changes were proposed in this pull request?\n\nIn SPARK-22550 which fixes 64KB JVM bytecode limit problem with elt, `buildCodeBlocks` is used to split codes. However, we should use `splitExpressionsWithCurrentInputs` because it considers both normal and wholestage codgen (it is not supported yet, so it simply doesn't split the codes).\n\n## How was this patch tested?\n\nExisting tests.\n\nAuthor: Liang-Chi Hsieh <viirya@gmail.com>\n\nCloses #19964 from viirya/SPARK-22772.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/ba0e79f57caa279773fb014b7883ee5d69dd0a68"},{"sha":"a83e8e6c223df8b819335cbabbfff9956942f2ad","author":{"name":"Marcelo Vanzin","email":"31a02c4d82e3479e776883a3423bc52579c6a1cf@cloudera.com"},"message":"[SPARK-22764][CORE] Fix flakiness in SparkContextSuite.\n\nUse a semaphore to synchronize the tasks with the listener code\nthat is trying to cancel the job or stage, so that the listener\nwon't try to cancel a job or stage that has already finished.\n\nAuthor: Marcelo Vanzin <vanzin@cloudera.com>\n\nCloses #19956 from vanzin/SPARK-22764.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/a83e8e6c223df8b819335cbabbfff9956942f2ad"},{"sha":"ef92999653f0e2a47752379a867647445d849aab","author":{"name":"Takeshi Yamamuro","email":"739de1dd84c0b15373ba5c69d21b9bea89463bb3@apache.org"},"message":"[SPARK-22600][SQL][FOLLOW-UP] Fix a compilation error in TPCDS q75/q77\n\n## What changes were proposed in this pull request?\nThis pr fixed a compilation error of TPCDS `q75`/`q77`  caused by #19813;\n```\n  java.util.concurrent.ExecutionException: org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 371, Column 16: failed to compile: org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 371, Column 16: Expression \"bhj_matched\" is not an rvalue\n  at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:306)\n  at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:293)\n  at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)\n  at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:135)\n```\n\n## How was this patch tested?\nManually checked `q75`/`q77` can be properly compiled\n\nAuthor: Takeshi Yamamuro <yamamuro@apache.org>\n\nCloses #19969 from maropu/SPARK-22600-FOLLOWUP.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/ef92999653f0e2a47752379a867647445d849aab"},{"sha":"bc7e4a90c0c91970a94aa385971daac48db6264e","author":{"name":"Wenchen Fan","email":"51df79715bab6f96b68cf2b8813ef1aaa5547bdb@databricks.com"},"message":"Revert \"[SPARK-22600][SQL][FOLLOW-UP] Fix a compilation error in TPCDS q75/q77\"\n\nThis reverts commit ef92999653f0e2a47752379a867647445d849aab.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/bc7e4a90c0c91970a94aa385971daac48db6264e"},{"sha":"2a29a60da32a5ccd04cc7c5c22c4075b159389e3","author":{"name":"Wenchen Fan","email":"51df79715bab6f96b68cf2b8813ef1aaa5547bdb@databricks.com"},"message":"Revert \"[SPARK-22600][SQL] Fix 64kb limit for deeply nested expressions under wholestage codegen\"\n\nThis reverts commit c7d0148615c921dca782ee3785b5d0cd59e42262.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/2a29a60da32a5ccd04cc7c5c22c4075b159389e3"},{"sha":"1e44dd004425040912f2cf16362d2c13f12e1689","author":{"name":"Yanbo Liang","email":"b6929798b4e4fba75014af8265904a7818902ec7@gmail.com"},"message":"[SPARK-3181][ML] Implement huber loss for LinearRegression.\n\n## What changes were proposed in this pull request?\nMLlib ```LinearRegression``` supports _huber_ loss addition to _leastSquares_ loss. The huber loss objective function is:\n![image](https://user-images.githubusercontent.com/1962026/29554124-9544d198-8750-11e7-8afa-33579ec419d5.png)\nRefer Eq.(6) and Eq.(8) in [A robust hybrid of lasso and ridge regression](http://statweb.stanford.edu/~owen/reports/hhu.pdf). This objective is jointly convex as a function of (w, σ) ∈ R × (0,∞), we can use L-BFGS-B to solve it.\n\nThe current implementation is a straight forward porting for Python scikit-learn [```HuberRegressor```](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.HuberRegressor.html). There are some differences:\n* We use mean loss (```lossSum/weightSum```), but sklearn uses total loss (```lossSum```).\n* We multiply the loss function and L2 regularization by 1/2. It does not affect the result if we multiply the whole formula by a factor, we just keep consistent with _leastSquares_ loss.\n\nSo if fitting w/o regularization, MLlib and sklearn produce the same output. If fitting w/ regularization, MLlib should set ```regParam``` divide by the number of instances to match the output of sklearn.\n\n## How was this patch tested?\nUnit tests.\n\nAuthor: Yanbo Liang <ybliang8@gmail.com>\n\nCloses #19020 from yanboliang/spark-3181.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/1e44dd004425040912f2cf16362d2c13f12e1689"},{"sha":"f8c7c1f21aa9d1fd38b584ca8c4adf397966e9f7","author":{"name":"Jose Torres","email":"fec8ccdf73a8b45ba9fb8918c9e7888aa2ffa5d8@databricks.com"},"message":"[SPARK-22732] Add Structured Streaming APIs to DataSourceV2\n\n## What changes were proposed in this pull request?\n\nThis PR provides DataSourceV2 API support for structured streaming, including new pieces needed to support continuous processing [SPARK-20928]. High level summary:\n\n- DataSourceV2 includes new mixins to support micro-batch and continuous reads and writes. For reads, we accept an optional user specified schema rather than using the ReadSupportWithSchema model, because doing so would severely complicate the interface.\n\n- DataSourceV2Reader includes new interfaces to read a specific microbatch or read continuously from a given offset. These follow the same setter pattern as the existing Supports* mixins so that they can work with SupportsScanUnsafeRow.\n\n- DataReader (the per-partition reader) has a new subinterface ContinuousDataReader only for continuous processing. This reader has a special method to check progress, and next() blocks for new input rather than returning false.\n\n- Offset, an abstract representation of position in a streaming query, is ported to the public API. (Each type of reader will define its own Offset implementation.)\n\n- DataSourceV2Writer has a new subinterface ContinuousWriter only for continuous processing. Commits to this interface come tagged with an epoch number, as the execution engine will continue to produce new epoch commits as the task continues indefinitely.\n\nNote that this PR does not propose to change the existing DataSourceV2 batch API, or deprecate the existing streaming source/sink internal APIs in spark.sql.execution.streaming.\n\n## How was this patch tested?\n\nToy implementations of the new interfaces with unit tests.\n\nAuthor: Jose Torres <jose@databricks.com>\n\nCloses #19925 from joseph-torres/continuous-api.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/f8c7c1f21aa9d1fd38b584ca8c4adf397966e9f7"},{"sha":"c3dd2a26deaadf508b4e163eab2c0544cd922540","author":{"name":"Marcelo Vanzin","email":"31a02c4d82e3479e776883a3423bc52579c6a1cf@cloudera.com"},"message":"[SPARK-22779][SQL] Resolve default values for fallback configs.\n\nSQLConf allows some callers to define a custom default value for\nconfigs, and that complicates a little bit the handling of fallback\nconfig entries, since most of the default value resolution is\nhidden by the config code.\n\nThis change peaks into the internals of these fallback configs\nto figure out the correct default value, and also returns the\ncurrent human-readable default when showing the default value\n(e.g. through \"set -v\").\n\nAuthor: Marcelo Vanzin <vanzin@cloudera.com>\n\nCloses #19974 from vanzin/SPARK-22779.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/c3dd2a26deaadf508b4e163eab2c0544cd922540"},{"sha":"7d8e2ca7f8667d809034073aad2ea67b3b082fc2","author":{"name":"Wenchen Fan","email":"51df79715bab6f96b68cf2b8813ef1aaa5547bdb@databricks.com"},"message":"[SPARK-22775][SQL] move dictionary related APIs from ColumnVector to WritableColumnVector\n\n## What changes were proposed in this pull request?\n\nThese dictionary related APIs are special to `WritableColumnVector` and should not be in `ColumnVector`, which will be public soon.\n\n## How was this patch tested?\n\nexisting tests\n\nAuthor: Wenchen Fan <wenchen@databricks.com>\n\nCloses #19970 from cloud-fan/final.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/7d8e2ca7f8667d809034073aad2ea67b3b082fc2"},{"sha":"d0957954398658b025fdac3b9a07b477e79520b9","author":{"name":"Wenchen Fan","email":"51df79715bab6f96b68cf2b8813ef1aaa5547bdb@databricks.com"},"message":"[SPARK-22785][SQL] remove ColumnVector.anyNullsSet\n\n## What changes were proposed in this pull request?\n`ColumnVector.anyNullsSet` is not called anywhere except tests, and we can easily replace it with `ColumnVector.numNulls > 0`\n\n## How was this patch tested?\n\nexisting tests\n\nAuthor: Wenchen Fan <wenchen@databricks.com>\n\nCloses #19980 from cloud-fan/minor.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/d0957954398658b025fdac3b9a07b477e79520b9"},{"sha":"606ae491e41017c117301aeccfdf7221adec7f23","author":{"name":"Kazuaki Ishizaki","email":"64981c6bd46971e76f308b8a384367244e8169bf@jp.ibm.com"},"message":"[SPARK-22774][SQL][TEST] Add compilation check into TPCDSQuerySuite\n\n## What changes were proposed in this pull request?\n\nThis PR adds check whether Java code generated by Catalyst can be compiled by `janino` correctly or not into `TPCDSQuerySuite`. Before this PR, this suite only checks whether analysis can be performed correctly or not.\n\nThis check will be able to avoid unexpected performance degrade by interpreter execution due to a Java compilation error.\n\n## How was this patch tested?\n\nExisting a test case, but updated it.\n\nAuthor: Kazuaki Ishizaki <ishizaki@jp.ibm.com>\n\nCloses #19971 from kiszk/SPARK-22774.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/606ae491e41017c117301aeccfdf7221adec7f23"},{"sha":"40de176c93c5aa05bcbb1328721118b6b46ba51d","author":{"name":"Prashant Sharma","email":"f36d2a4f118ffe5bbe5ae27e218772484c048736@in.ibm.com"},"message":"[SPARK-16496][SQL] Add wholetext as option for reading text in SQL.\n\n## What changes were proposed in this pull request?\n\nIn multiple text analysis problems, it is not often desirable for the rows to be split by \"\\n\". There exists a wholeText reader for RDD API, and this JIRA just adds the same support for Dataset API.\n## How was this patch tested?\n\nAdded relevant new tests for both scala and Java APIs\n\nAuthor: Prashant Sharma <prashsh1@in.ibm.com>\nAuthor: Prashant Sharma <prashant@apache.org>\n\nCloses #14151 from ScrapCodes/SPARK-16496/wholetext.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/40de176c93c5aa05bcbb1328721118b6b46ba51d"},{"sha":"6d99940397136e4ed0764f83f442bcffcb20d6e7","author":{"name":"kellyzly","email":"e4428d494c3ec84b5084f1962ea414e015899db3@126.com"},"message":"[SPARK-22660][BUILD] Use position() and limit() to fix ambiguity issue in scala-2.12\n\n## What changes were proposed in this pull request?\nMissing some changes about limit in TaskSetManager.scala\n\n## How was this patch tested?\nrunning tests\n\nPlease review http://spark.apache.org/contributing.html before opening a pull request.\n\nAuthor: kellyzly <kellyzly@126.com>\n\nCloses #19976 from kellyzly/SPARK-22660.2.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/6d99940397136e4ed0764f83f442bcffcb20d6e7"},{"sha":"2fe16333d59cd8558afca3916821e1ea7e98d1bc","author":{"name":"Yinan Li","email":"21591b0c6d709dd58dea2dd4c54ec064f08f3978@gmail.com"},"message":"[SPARK-22778][KUBERNETES] Added the missing service metadata for KubernetesClusterManager\n\n## What changes were proposed in this pull request?\n\nThis PR added the missing service metadata for `KubernetesClusterManager`. Without the metadata, the service loader couldn't load `KubernetesClusterManager`, and caused the driver to fail to create a `ExternalClusterManager`, as being reported in SPARK-22778. The PR also changed the `k8s:` prefix used to `k8s://`, which is what existing Spark on k8s users are familiar and used to.\n\n## How was this patch tested?\n\nManual testing verified that the fix resolved the issue in SPARK-22778.\n\n/cc vanzin felixcheung jiangxb1987\n\nAuthor: Yinan Li <liyinan926@gmail.com>\n\nCloses #19972 from liyinan926/fix-22778.","distinct":false,"url":"https://api.github.com/repos/mgaido91/spark/commits/2fe16333d59cd8558afca3916821e1ea7e98d1bc"}]}
{"actor":{"display_login":"mgaido91"}}