[GitHub] incubator-predictionio-template-similar-product pull request #16: Fix use of...

2017-07-18 Thread takezoe
GitHub user takezoe opened a pull request:


https://github.com/apache/incubator-predictionio-template-similar-product/pull/16

Fix use of case class



You can merge this pull request into a Git repository by running:

$ git pull 
https://github.com/takezoe/incubator-predictionio-template-similar-product 
fix-caseclass

Alternatively you can review and apply these changes as the patch at:


https://github.com/apache/incubator-predictionio-template-similar-product/pull/16.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #16


commit 2bb5d8096a11d723908240c20039e23c7cf735f2
Author: Naoki Takezoe 
Date:   2017-07-18T17:50:31Z

Fix use of case class




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #413: Fix use of case class in similarpr...

2017-07-18 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/413

Fix use of case class in similarproduct examples



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
fix-caseclass-similarproduct

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/413.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #413


commit 999b802faefe1c84b057da9c9dccb08ecfac9be5
Author: Naoki Takezoe 
Date:   2017-07-18T18:01:15Z

Fix use of case class in similarproduct examples




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #414: Fix use of case class in similarpr...

2017-07-18 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/414

Fix use of case class in similarproduct examples (docs)



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
fix-caseclass-similarproduct-doc

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/414.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #414


commit eb681fec411a6a798ffc8664ee1d26bb2218e21d
Author: Naoki Takezoe 
Date:   2017-07-18T18:07:01Z

Fix use of case class in similarproduct examples




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #415: Update license checker configurati...

2017-07-20 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/415

Update license checker configuration



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
license-checker-config

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/415.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #415


commit 89ee4092b65db30d9a3b94a8932604458155e80d
Author: Naoki Takezoe 
Date:   2017-07-21T02:39:23Z

Update license checker configuration




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #417: [PIO-66] JIRA and release process for Pre...

2017-08-02 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/417
  
I think adding a new section like "For Developers" is good for Release 
Cadence and other documentation for committers. Further, we should clean up the 
whole index in the left sidebar. Contents are good, but the index is not much 
kind. I think we can classify them more intelligible.

Anyway, we should do it on an another ticket. How about merging this 
addition as is and creating a new ticket about re-structuring the documentation?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #405: [PIO-63]Add incubator logo and disclaimer...

2017-08-03 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/405
  
Merged to `livedoc` branch but the web site hasn't been updated yet.
I'm wondering how is docs deployed on the web site...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #405: [PIO-63]Add incubator logo and disclaimer...

2017-08-04 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/405
  
@dszeto I confirmed that my fix has been applied. Thanks for your help!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #419: Update index.html.md.erb

2017-08-08 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/419
  
Scala is not prerequisite because you don't have to install Scala by hand. 
If you just run `make-distribution.sh`, PredictionIO is compiled with the 
default version of Scala (currently 2.10.6) automatically.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #423: Update eventmodel.html.md.erb

2017-08-20 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/423
  
@haginot You should merge this branch into the `livedoc` branch as well.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134419425
  
--- Diff: 
storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESPEvents.scala
 ---
@@ -107,37 +107,32 @@ class ESPEvents(client: ESClient, config: 
StorageClientConfig, index: String)
 eventIds: RDD[String],
 appId: Int, channelId: Option[Int])(sc: SparkContext): Unit = {
 val estype = getEsType(appId, channelId)
-val restClient = client.open()
-try {
-  eventIds.foreachPartition { iter =>
-iter.foreach { eventId =>
-  try {
-val json =
-  ("query" ->
-("term" ->
-  ("eventId" -> eventId)))
-val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
-val response = restClient.performRequest(
-  "POST",
-  s"/$index/$estype/_delete_by_query",
-  Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
-val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
-val result = (jsonResponse \ "result").extract[String]
-result match {
-  case "deleted" => true
-  case _ =>
-logger.error(s"[$result] Failed to update 
$index/$estype:$eventId")
-false
-}
-  } catch {
-case e: IOException =>
-  logger.error(s"Failed to update $index/$estype:$eventId", e)
+eventIds.foreachPartition { iter =>
+  iter.foreach { eventId =>
+try {
+  val json =
+("query" ->
+  ("term" ->
+("eventId" -> eventId)))
+  val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
+  val response = client.performRequest(
+"POST",
+s"/$index/$estype/_delete_by_query",
+Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
+  val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
+  val result = (jsonResponse \ "result").extract[String]
+  result match {
+case "deleted" => true
+case _ =>
+  logger.error(s"[$result] Failed to update 
$index/$estype:$eventId")
   false
   }
+} catch {
+  case e: IOException =>
+logger.error(s"Failed to update $index/$estype:$eventId", e)
+false
--- End diff --

Same as above.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134399019
  
--- Diff: 
core/src/main/scala/org/apache/predictionio/workflow/CleanupFunctions.scala ---
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.predictionio.workflow
+
+/** :: DeveloperApi ::
+  * Singleton object that collects anonymous functions to be
+  * executed to allow the process to end gracefully.
+  *
+  * For example, the Elasticsearch REST storage client
+  * maintains an internal connection pool that must
+  * be closed to allow the process to exit.
+  */
+object CleanupFunctions {
+  var functions: Seq[() => Unit] = Seq.empty[() => Unit]
+
+  /** Add a function to be called during cleanup.
+*
+* {{{
+* import org.apache.predictionio.workflow.CleanupFunctions
+*
+* CleanupFunctions.add { MyStorageClass.close }
+* }}}
+*
+* @param anonymous function containing cleanup code.
+*/
+  def add(f: () => Unit): Seq[() => Unit] = {
+functions = functions :+ f
+functions
+  }
+
+  /** Call all cleanup functions in order added.
+*
+* {{{
+* import org.apache.predictionio.workflow.CleanupFunctions
+*
+* try {
+*   // Much code that needs cleanup
+*   // whether successful or error thrown.
+* } finally {
+*   CleanupFunctions.run()
+* }
+* }}}
+*
+* @param anonymous function containing cleanup code.
+*/
+  def run(): Unit = {
+functions.map { case f => f() }
--- End diff --

Use `foreach` instead of `map` if partial function does not have return 
value. Also `case` is not necessary in this case. As a result, you can write 
above code as:
```scala
functions.foreach { f => f() }
```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134419379
  
--- Diff: 
storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESPEvents.scala
 ---
@@ -107,37 +107,32 @@ class ESPEvents(client: ESClient, config: 
StorageClientConfig, index: String)
 eventIds: RDD[String],
 appId: Int, channelId: Option[Int])(sc: SparkContext): Unit = {
 val estype = getEsType(appId, channelId)
-val restClient = client.open()
-try {
-  eventIds.foreachPartition { iter =>
-iter.foreach { eventId =>
-  try {
-val json =
-  ("query" ->
-("term" ->
-  ("eventId" -> eventId)))
-val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
-val response = restClient.performRequest(
-  "POST",
-  s"/$index/$estype/_delete_by_query",
-  Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
-val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
-val result = (jsonResponse \ "result").extract[String]
-result match {
-  case "deleted" => true
-  case _ =>
-logger.error(s"[$result] Failed to update 
$index/$estype:$eventId")
-false
-}
-  } catch {
-case e: IOException =>
-  logger.error(s"Failed to update $index/$estype:$eventId", e)
+eventIds.foreachPartition { iter =>
+  iter.foreach { eventId =>
+try {
+  val json =
+("query" ->
+  ("term" ->
+("eventId" -> eventId)))
+  val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
+  val response = client.performRequest(
+"POST",
+s"/$index/$estype/_delete_by_query",
+Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
+  val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
+  val result = (jsonResponse \ "result").extract[String]
+  result match {
+case "deleted" => true
--- End diff --

`true` at here is no effect because the return type us `Unit`. I know it 
came from original code, but we should remove it.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134417513
  
--- Diff: 
storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/StorageClient.scala
 ---
@@ -18,27 +18,84 @@
 package org.apache.predictionio.data.storage.elasticsearch
 
 import org.apache.http.HttpHost
+import org.apache.http.auth.{AuthScope, UsernamePasswordCredentials}
+import org.apache.http.impl.client.BasicCredentialsProvider
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder
 import org.apache.predictionio.data.storage.BaseStorageClient
 import org.apache.predictionio.data.storage.StorageClientConfig
 import org.apache.predictionio.data.storage.StorageClientException
+import org.apache.predictionio.workflow.CleanupFunctions
 import org.elasticsearch.client.RestClient
+import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback
 
 import grizzled.slf4j.Logging
 
-case class ESClient(hosts: Seq[HttpHost]) {
-  def open(): RestClient = {
+object ESClient extends Logging {
+  var _sharedRestClient: Option[RestClient] = None
+
+  def open(
+hosts: Seq[HttpHost],
+basicAuth: Option[(String, String)] = None): RestClient = {
 try {
-  RestClient.builder(hosts: _*).build()
+  val newClient = _sharedRestClient match {
+case Some(c)  => c
+case None => {
+  var builder = RestClient.builder(hosts: _*)
+  builder = basicAuth match {
+case Some((username, password)) => 
builder.setHttpClientConfigCallback(
+  new BasicAuthProvider(username, password))
+case None   => builder}
+  builder.build()
+}
+  }
+  _sharedRestClient = Some(newClient)
+  newClient
 } catch {
   case e: Throwable =>
 throw new StorageClientException(e.getMessage, e)
 }
   }
+
+  def close(): Unit = {
+if (!_sharedRestClient.isEmpty) {
+  _sharedRestClient.get.close()
+  _sharedRestClient = None
+}
--- End diff --

Typically, `Option.get()` is hated in the Scala world. You can write as 
follows instead:
```scala
_sharedRestClient.foreach { client =>
   client.close()
  _sharedRestClient = None
}
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134399760
  
--- Diff: 
data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala ---
@@ -461,4 +463,11 @@ object Storage extends Logging {
   }.getOrElse(Map.empty)
 }
   )
+
+  def getStackTraceString(e: Throwable): String = {
--- End diff --

You can get stacktrace from an exception using `ExceptionUtils` of 
commons-lang3.
```scala
import org.apache.commons.lang3.exception.ExceptionUtils

val stackTrace = ExceptionUtils.getStackTrace(e)
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134398339
  
--- Diff: 
core/src/main/scala/org/apache/predictionio/workflow/CleanupFunctions.scala ---
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.predictionio.workflow
+
+/** :: DeveloperApi ::
+  * Singleton object that collects anonymous functions to be
+  * executed to allow the process to end gracefully.
+  *
+  * For example, the Elasticsearch REST storage client
+  * maintains an internal connection pool that must
+  * be closed to allow the process to exit.
+  */
+object CleanupFunctions {
+  var functions: Seq[() => Unit] = Seq.empty[() => Unit]
--- End diff --

This field should be private or protected at least.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134419406
  
--- Diff: 
storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESPEvents.scala
 ---
@@ -107,37 +107,32 @@ class ESPEvents(client: ESClient, config: 
StorageClientConfig, index: String)
 eventIds: RDD[String],
 appId: Int, channelId: Option[Int])(sc: SparkContext): Unit = {
 val estype = getEsType(appId, channelId)
-val restClient = client.open()
-try {
-  eventIds.foreachPartition { iter =>
-iter.foreach { eventId =>
-  try {
-val json =
-  ("query" ->
-("term" ->
-  ("eventId" -> eventId)))
-val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
-val response = restClient.performRequest(
-  "POST",
-  s"/$index/$estype/_delete_by_query",
-  Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
-val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
-val result = (jsonResponse \ "result").extract[String]
-result match {
-  case "deleted" => true
-  case _ =>
-logger.error(s"[$result] Failed to update 
$index/$estype:$eventId")
-false
-}
-  } catch {
-case e: IOException =>
-  logger.error(s"Failed to update $index/$estype:$eventId", e)
+eventIds.foreachPartition { iter =>
+  iter.foreach { eventId =>
+try {
+  val json =
+("query" ->
+  ("term" ->
+("eventId" -> eventId)))
+  val entity = new NStringEntity(compact(render(json)), 
ContentType.APPLICATION_JSON)
+  val response = client.performRequest(
+"POST",
+s"/$index/$estype/_delete_by_query",
+Map("refresh" -> ESUtils.getEventDataRefresh(config)).asJava)
+  val jsonResponse = 
parse(EntityUtils.toString(response.getEntity))
+  val result = (jsonResponse \ "result").extract[String]
+  result match {
+case "deleted" => true
+case _ =>
+  logger.error(s"[$result] Failed to update 
$index/$estype:$eventId")
   false
--- End diff --

Same as above.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #421: Elasticsearch 5.x singleton client...

2017-08-22 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/421#discussion_r134416803
  
--- Diff: 
storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/StorageClient.scala
 ---
@@ -18,27 +18,84 @@
 package org.apache.predictionio.data.storage.elasticsearch
 
 import org.apache.http.HttpHost
+import org.apache.http.auth.{AuthScope, UsernamePasswordCredentials}
+import org.apache.http.impl.client.BasicCredentialsProvider
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder
 import org.apache.predictionio.data.storage.BaseStorageClient
 import org.apache.predictionio.data.storage.StorageClientConfig
 import org.apache.predictionio.data.storage.StorageClientException
+import org.apache.predictionio.workflow.CleanupFunctions
 import org.elasticsearch.client.RestClient
+import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback
 
 import grizzled.slf4j.Logging
 
-case class ESClient(hosts: Seq[HttpHost]) {
-  def open(): RestClient = {
+object ESClient extends Logging {
+  var _sharedRestClient: Option[RestClient] = None
--- End diff --

Is this client accessed from multi threads? If yes, I think adding 
`volatile` modifier to this field is necessary and `open()` and `close()` 
should be synchronized.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #425: [PIO-110]Refactoring

2017-08-23 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/425

[PIO-110]Refactoring



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
refactor-common-code

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/425.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #425


commit 8a2aa88148b96625764b5c619614064136344e66
Author: Naoki Takezoe 
Date:   2017-08-23T05:42:52Z

[PIO-110]Refactoring




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #421: Elasticsearch 5.x singleton client with a...

2017-08-23 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/421
  
> I addressed all your Scala style & usage suggestions.

👍 

> Still need to take care of the threadsafety issue with the singleton 
client.

Yes, I'm reviewing the PIO codebase from this point of view now, but still 
my understanding about the whole PIO is not enough...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #425: [PIO-110] Refactoring

2017-08-24 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/425
  
Closed and reopened to re-run Travis test.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #425: [PIO-110] Refactoring

2017-08-24 Thread takezoe
Github user takezoe closed the pull request at:

https://github.com/apache/incubator-predictionio/pull/425


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #425: [PIO-110] Refactoring

2017-08-24 Thread takezoe
GitHub user takezoe reopened a pull request:

https://github.com/apache/incubator-predictionio/pull/425

[PIO-110] Refactoring



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
refactor-common-code

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/425.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #425


commit 24e1ec7a626857d320d69d8d09b68daead818831
Author: Naoki Takezoe 
Date:   2017-08-23T05:42:52Z

[PIO-110] Refactoring




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #425: [PIO-110] Refactoring

2017-08-24 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/425
  
All tests are passed!
@shimamoto Could you review this request?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #425: [PIO-110] Refactoring

2017-08-26 Thread takezoe
Github user takezoe commented on a diff in the pull request:


https://github.com/apache/incubator-predictionio/pull/425#discussion_r135380673
  
--- Diff: 
core/src/main/scala/org/apache/predictionio/controller/PAlgorithm.scala ---
@@ -115,15 +115,12 @@ abstract class PAlgorithm[PD, M, Q, P]
 algoParams: Params,
 bm: Any): Any = {
 val m = bm.asInstanceOf[M]
-if (m.isInstanceOf[PersistentModel[_]]) {
-  if (m.asInstanceOf[PersistentModel[Params]].save(
-modelId, algoParams, sc)) {
-PersistentModelManifest(className = m.getClass.getName)
-  } else {
-()
-  }
-} else {
-  ()
+m match {
+  case m: PersistentModel[Params] @unchecked =>
+if(m.save(modelId, algoParams, sc)){
+  PersistentModelManifest(className = m.getClass.getName)
+} else ()
+  case _ => ()
--- End diff --

> This code will be simpler to read by joining the if guard with the case 
statement.

Yes, but I want to keep the form of code as same as other algorithms.

> Which is correct?

I don't know. In any case, I think that I shouldn't modify current behavior 
in this pull request because this pull request is for refactoring.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #425: [PIO-110] Refactoring

2017-08-26 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/425
  
@mars Some of them I suggested are applied by this pull request. But as a 
result of checking the whole codebase, I thought that I shouldn't apply some of 
them to the whole.

For now, all of my refactoring is this pull request, but I may create an 
another pull request in the future.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio-template-text-classifier pull request #14: Fix use of...

2017-08-28 Thread takezoe
GitHub user takezoe opened a pull request:


https://github.com/apache/incubator-predictionio-template-text-classifier/pull/14

Fix use of case class



You can merge this pull request into a Git repository by running:

$ git pull 
https://github.com/takezoe/incubator-predictionio-template-text-classifier 
fix-caseclass

Alternatively you can review and apply these changes as the patch at:


https://github.com/apache/incubator-predictionio-template-text-classifier/pull/14.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #14


commit b8748a079151f5114738c11237a5ed461f53f604
Author: Naoki Takezoe 
Date:   2017-08-29T02:48:58Z

Fix use of case class




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #421: Elasticsearch 5.x singleton client with a...

2017-08-28 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/421
  
@mars LGTM! but sorry for conflict with my previous commit: 
6789dbeb71b1cc7f13a385032da6fbc3b8cf7a12


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio pull request #426: Fix use of case class in textclass...

2017-08-28 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/426

Fix use of case class in textclassifier example

The text-classifier example is fixed in 
https://github.com/apache/incubator-predictionio-template-text-classifier/pull/14.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
fix-text-classifier-doc

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/426.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #426


commit 5a74adc38be6cdb88cca8fd1459545926e666f09
Author: Naoki Takezoe 
Date:   2017-08-29T03:02:14Z

Fix use of case class in textclassifier example




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-predictionio issue #428: [PIO-117] Cannot delete event data on ESL...

2017-09-05 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/428
  
Nice catch! LGTM!


---


[GitHub] incubator-predictionio issue #437: Update org.template references to org.exa...

2017-09-27 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio/pull/437
  
LGTM!


---


[GitHub] incubator-predictionio pull request #438: [PIO-129] Move CLI document

2017-10-05 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/438

[PIO-129] Move CLI document

There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like `/cli/#engine-commands`. I think 
that such unclear navigation would confuse readers.
https://predictionio.incubator.apache.org/cli/#engine-commands

I propose to remove these links from the deploy section and the collecting 
data section, and put a link to CLI document in the resource section without 
hash:


![cli-doc1](https://user-images.githubusercontent.com/1094760/31218456-5e1e312e-a9f5-11e7-8d8f-e4d1e06e3d08.png)

In addition, put links to the CLI reference in documents of the event 
server and the engine server. A following screenshot shows a link to the event 
server CLI in the document about deployment:


![cli-doc2](https://user-images.githubusercontent.com/1094760/31218708-248da2c2-a9f6-11e7-8a8a-6bef8ee1e6e5.png)




You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio 
move-cli-document

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/438.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #438


commit f2446820a9b7dfbecd4e80a5cf4aaefb84518018
Author: Naoki Takezoe 
Date:   2017-10-05T08:25:34Z

Move CLI document




---


[GitHub] incubator-predictionio pull request #440: [PIO-101] Document usage of Plug-i...

2017-10-05 Thread takezoe
GitHub user takezoe opened a pull request:

https://github.com/apache/incubator-predictionio/pull/440

[PIO-101] Document usage of Plug-in of event server and engine server



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/takezoe/incubator-predictionio plugin-document

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-predictionio/pull/440.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #440


commit a6a140254d08f8b95e956bace4e7323ecd690c73
Author: Naoki Takezoe 
Date:   2017-10-05T12:59:10Z

Document usage of Plug-in of event server and engine server




---


[GitHub] incubator-predictionio-template-attribute-based-classifier issue #12: 0.12.0...

2017-10-10 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-attribute-based-classifier/pull/12
  
LGTM!


---


[GitHub] incubator-predictionio-template-recommender issue #19: 0.12.0-incubating rel...

2017-10-10 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-recommender/pull/19
  
LGTM!


---


[GitHub] incubator-predictionio-template-ecom-recommender issue #14: 0.12.0-incubatin...

2017-10-10 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-ecom-recommender/pull/14
  
LGTM!


---


[GitHub] incubator-predictionio-template-similar-product issue #17: 0.12.0-incubating...

2017-10-10 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-similar-product/pull/17
  
LGTM!


---


[GitHub] incubator-predictionio-template-skeleton issue #7: 0.12.0-incubating release

2017-10-11 Thread takezoe
Github user takezoe commented on the issue:

https://github.com/apache/incubator-predictionio-template-skeleton/pull/7
  
LGTM!


---


[GitHub] incubator-predictionio-template-text-classifier issue #14: Fix use of case c...

2017-10-18 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-text-classifier/pull/14
  
@hareeshmu We are progressing updating templates just now, but this 
template is not updated for PredictionIO 0.12.0 yet. Some code modifications 
seem to be needed for Spark 2.1.1.


---


[GitHub] incubator-predictionio-template-java-ecom-recommender issue #6: 0.12.0-incub...

2017-10-18 Thread takezoe
Github user takezoe commented on the issue:


https://github.com/apache/incubator-predictionio-template-java-ecom-recommender/pull/6
  
@pferrel It looks to be impossible to solve in the current template 
mechanism. I believe that keeping templates for the latest and default stack is 
the best in the current mechanism. It might have to be documented to prevent 
confusion of users, or we might have to consider a solution to solve it, but I 
think it's an another topic in either case.

Anyway, this pull request looks good to me, so I'm going to merge. Is this 
all right with you?


---


Re: New PMC member and committer: Naoki Takezoe

2017-05-08 Thread Naoki Takezoe
Hi all,

Thanks a lot!
I've worked with Scala in recent years and also have contributed to
some open source Scala projects.
So today, I'm very exciting to join PredictionIO as well.
At first, I would like to help PredictionIO will graduate incubator and be TLP.

Regards,

2017-05-09 1:09 GMT+09:00 Donald Szeto :
> Hi all,
>
> The Project Management Committee (PMC) for Apache PredictionIO (incubating)
> has asked Naoki Takezoe to become a PMC member and committer, and we are
> pleased to announce that he has accepted.
>
> He has made major contributions to the PredictionIO 0.11.0 release by adding
> Elasticsearch 5 support. This shows solid understanding of the core
> PredictionIO codebase. In addition, he also helped cleaning up and
> refactoring code in the core. Having him join forces with us would be
> beneficial for PredictionIO's growth.
>
> Being a committer enables easier contribution to the project since there is
> no need to go via the patch submission process. This should enable better
> productivity. Being a PMC member enables assistance with the management and
> to guide the direction of the project.
>
> Please join us in welcoming Naoki.
>
> Regards,
> Donald



-- 
Naoki Takezoe


Maintain template projects

2017-05-09 Thread Naoki Takezoe
Hi all,

I found some pull requests which should be merged in template projects such as:

- https://github.com/apache/incubator-predictionio-template-recommender/pull/16
- 
https://github.com/apache/incubator-predictionio-template-java-ecom-recommender/pull/5

I would like to take them, but I don't know a correct way to merge from GitHub.
Just merge from GitHub and push it to ASF repo?

Regards,

-- 
Naoki Takezoe


Re: Maintain template projects

2017-05-09 Thread Naoki Takezoe
Hi Donald,

Thanks. I follow the mahout guide for now.

2017-05-10 12:49 GMT+09:00 Donald Szeto :
> So far we have been following a similar procedure outlined here:
> http://mahout.apache.org/developers/github.html
>
> We should definitely create our own committer documentation as well.
>
> On Tue, May 9, 2017 at 8:43 PM Naoki Takezoe  wrote:
>
>> Hi all,
>>
>> I found some pull requests which should be merged in template projects
>> such as:
>>
>> -
>> https://github.com/apache/incubator-predictionio-template-recommender/pull/16
>> -
>> https://github.com/apache/incubator-predictionio-template-java-ecom-recommender/pull/5
>>
>> I would like to take them, but I don't know a correct way to merge from
>> GitHub.
>> Just merge from GitHub and push it to ASF repo?
>>
>> Regards,
>>
>> --
>> Naoki Takezoe
>>



-- 
Naoki Takezoe


Re: New PMC member and committer: Takahiro Hagino

2017-05-17 Thread Naoki Takezoe
Takahiro is also a chairman of Japan PredictionIO Users Group.

He will talk about PredictionIO at JJUG Cross Community Conference
that is a largest Java technical conference in Japan this Saturday.
I'm looking forward to his talk!

2017-05-18 0:53 GMT+09:00 Donald Szeto :
> Correction: Takahiro is not a committer of Apache Portals. Sorry for the
> misinformation.
>
> On Wed, May 17, 2017 at 8:50 AM, Donald Szeto  wrote:
>
>> Hi all,
>>
>> The Project Management Committee (PMC) for Apache PredictionIO
>> (incubating) has asked Takahiro Hagino to become a PMC member and
>> committer, and we are pleased to announce that he has accepted. He is also
>> a committer of the Apache Portals project.
>>
>> He has made major contributions to the PredictionIO 0.11.0 release by
>> adding Elasticsearch 5 support. This shows solid understanding of the core
>> PredictionIO codebase. In addition, he also helped cleaning up and
>> refactoring code in the core. Having him join forces with us would be
>> beneficial for PredictionIO's growth.
>>
>> Being a committer enables easier contribution to the project since there
>> is no need to go via the patch submission process. This should enable
>> better productivity. Being a PMC member enables assistance with the
>> management and to guide the direction of the project.
>>
>> Please join us in welcoming Takahiro.
>>
>> Regards,
>> Donald
>>



-- 
Naoki Takezoe


[Proposal] Update the default build targets

2017-05-18 Thread Naoki Takezoe
Hi all,

Currently, the default build targets look like following:

- PIO_SCALA_VERSION=2.10.6
- PIO_SPARK_VERSION=1.6.3
- PIO_ELASTICSEARCH_VERSION=1.7.6
- PIO_HADOOP_VERSION=2.6.5

However they look too old now despite PredictionIO has supported newer versions.
How is change the default build targets as following?

- PIO_SCALA_VERSION=2.11.8
- PIO_SPARK_VERSION=2.1.0
- PIO_ELASTICSEARCH_VERSION=5.2.2
- PIO_HADOOP_VERSION=2.7.3

Also, are there roadmap for graduating incubator?
It might have to contain the plan of default and supported versions if
we will change them.

Regards,

-- 
Naoki Takezoe


Re: [Proposal] Update the default build targets

2017-05-19 Thread Naoki Takezoe
Hi Donald,

OK. Also Pat suggested a draft of the roadmap.
We should look them at first.

Regards,

2017-05-19 5:29 GMT+09:00 Donald Szeto :
> By the way, one of the graduation criteria is to establish a stable release
> process. Sara has proposed one, so let's review that as well.
>
> On Thu, May 18, 2017 at 1:28 PM Donald Szeto  wrote:
>
>> +1 on this. We should do a survey in user@ to measure the impact as well.
>>
>> We should start a separate thread for graduation discussion. There are a
>> couple cleanups that we need to address and are already filed in JIRA.
>>
>> On Thu, May 18, 2017 at 10:07 AM Naoki Takezoe  wrote:
>>
>>> Hi all,
>>>
>>> Currently, the default build targets look like following:
>>>
>>> - PIO_SCALA_VERSION=2.10.6
>>> - PIO_SPARK_VERSION=1.6.3
>>> - PIO_ELASTICSEARCH_VERSION=1.7.6
>>> - PIO_HADOOP_VERSION=2.6.5
>>>
>>> However they look too old now despite PredictionIO has supported newer
>>> versions.
>>> How is change the default build targets as following?
>>>
>>> - PIO_SCALA_VERSION=2.11.8
>>> - PIO_SPARK_VERSION=2.1.0
>>> - PIO_ELASTICSEARCH_VERSION=5.2.2
>>> - PIO_HADOOP_VERSION=2.7.3
>>>
>>> Also, are there roadmap for graduating incubator?
>>> It might have to contain the plan of default and supported versions if
>>> we will change them.
>>>
>>> Regards,
>>>
>>> --
>>> Naoki Takezoe
>>>
>>



-- 
Naoki Takezoe


Re: PIO 0.12.0 and Graduation Time?

2017-05-29 Thread Naoki Takezoe
I'm working on improving batch/events.json endpoint performance
by modifying it to use Elasticsearch bulk indexing or JDBC batch inserting.
This is not necessary for graduation, but I hope to put this into 0.12.

> Finally, it's seems people are okay with the 2 month release cycle.  I
> propose we target 7/31 as the release date for 0.12.  Thoughts?

Anyway, +1 for 7/31 is the release date for 0.12.

-- 
Naoki Takezoe


Re: PIO 0.12.0 and Graduation Time?

2017-05-30 Thread Naoki Takezoe
> I'm working on improving batch/events.json endpoint performance
> by modifying it to use Elasticsearch bulk indexing or JDBC batch inserting.

Created a ticket on JIRA:
https://issues.apache.org/jira/browse/PIO-90

and pull request is here:
https://github.com/apache/incubator-predictionio/pull/386

-- 
Naoki Takezoe


Plug-in of event server and engine server

2017-06-19 Thread Naoki Takezoe
Hi all,

I found the plug-in system in the event server and the engine server.
It accepts following types of plug-ins:

- event server
  - inputBlocker
  - inputSniffer
- engine server
  - outputBlocker
  - outputSniffer

It seems useful to validate input events or process predicted values,
but I feel that the design and implementation is somewhat strange. For
example, since plugin.start() seems to be never called I can't
understand why this method is defined in plugin traits.

However I can't find any documentation or example about them, so I may
not understand the purpose of each plugin type correctly.

Could anyone help me?

Regards,

-- 
Naoki Takezoe


Re: Plug-in of event server and engine server

2017-06-20 Thread Naoki Takezoe
Hi Donald,

Thanks for your polite explanation. Almost of my unknown points became clear.

In my opinion, loading plugin by ServiceLoader looks nice, but base
traits of plugin should be enhanced.

We are considering to use plugin to validate input events or process
result values in our system.
So I might propose tidying up plugin traits in the near future.

Regards,

2017-06-20 14:51 GMT+09:00 Donald Szeto :
> Hi Naoki,
>
> This is one of few undocumented product features of PredictionIO. We
> basically had a need to put in custom functionalities in both event server
> and engine server deployments that do not necessary needs to be compiled
> into code. The reason is that each plugin adds processing time and latency.
> Sorry for the lack of documentation. Very impressive that you got all these
> information correct. :) I'll add more context to it.
>
> Event server input blockers:
> When these plugins are present, events coming into event server will be
> passed through all loaded and active plugins before reaching the actual
> event store. The order of processing is not defined, so events can go
> through these plugins in arbitrary order. One use case is for validating
> input data and throw exceptions to prevent bad data from going in. These
> plugins cannot transform the event.
>
> Event server input sniffers:
> When these are present, events will be broadcasted to these plugins in
> parallel. They do not block the event from reaching event store. They are
> useful for logging, statistics, and forwarding to other processing systems.
>
> Engine server output blockers:
> Before predictions go out, they will be processed through all loaded and
> active plugins. The order of processing is not defined. They are useful for
> transforming prediction results (e.g. if you do not have access to engine
> source code).
>
> Engine server output sniffers:
> These should have similar benefits with event server sniffers, but is not
> currently implemented.
>
> You are correct that the start() method is not used, and probably should
> not be in the base trait.
>
> If we find this system useful, we should spend some time tidying up the
> design and document it.
>
> Thanks again for digging this up!
>
> Regards,
> Donald
>
> On Mon, Jun 19, 2017 at 6:40 PM, Naoki Takezoe  wrote:
>
>> Hi all,
>>
>> I found the plug-in system in the event server and the engine server.
>> It accepts following types of plug-ins:
>>
>> - event server
>>   - inputBlocker
>>   - inputSniffer
>> - engine server
>>   - outputBlocker
>>   - outputSniffer
>>
>> It seems useful to validate input events or process predicted values,
>> but I feel that the design and implementation is somewhat strange. For
>> example, since plugin.start() seems to be never called I can't
>> understand why this method is defined in plugin traits.
>>
>> However I can't find any documentation or example about them, so I may
>> not understand the purpose of each plugin type correctly.
>>
>> Could anyone help me?
>>
>> Regards,
>>
>> --
>> Naoki Takezoe
>>



-- 
Naoki Takezoe


How docs are deployed on the web site?

2017-08-03 Thread Naoki Takezoe
Hi,

I merged this pull request into livedoc branch:
https://github.com/apache/incubator-predictionio/pull/405

However it hasn't been applied to the web site yet.
I want to know how docs are deployed on the web site to investigate
why my fix is not applied.

Could anyone help me?

-- 
Naoki Takezoe


Re: How docs are deployed on the web site?

2017-08-03 Thread Naoki Takezoe
Thanks Donald! I got it.

2017-08-04 3:07 GMT+09:00 Donald Szeto :
> PMC members and committers have direct access to ASF Jenkins, which hosts
> our doc site build and publishing. Thanks to Chan Lee these projects were
> setup a while ago.
>
> https://builds.apache.org/job/PredictionIO-build-site/
> https://builds.apache.org/job/PredictionIO-publish-site/
>
> It looks like an upgrade of Jenkins might have broken the linkage between
> build and publish. I have fixed it by enabling Build Authorization.
>
> On Thu, Aug 3, 2017 at 8:57 AM, Naoki Takezoe  wrote:
>
>> Hi,
>>
>> I merged this pull request into livedoc branch:
>> https://github.com/apache/incubator-predictionio/pull/405
>>
>> However it hasn't been applied to the web site yet.
>> I want to know how docs are deployed on the web site to investigate
>> why my fix is not applied.
>>
>> Could anyone help me?
>>
>> --
>> Naoki Takezoe
>>



-- 
Naoki Takezoe


Re: Graduation to TLP

2017-09-05 Thread Naoki Takezoe
017_05_17.txt),
>> > PredictionIO has been considered nearing graduation and I think we are
>> > almost there. I am kickstarting this thread so that we can discuss on
>> these
>> > 3 things:
>> >
>> > 1. Does the development community feel ready to graduate?
>> > 2. If we are to graduate, who should we include in the list of the
>> initial
>> > PMC?
>> > 3. If we are to graduate, who should be the VP of the initial PMC?
>> >
>> > These points are relevant for graduation. Please take a look at the
>> > official graduation guide:
>> > http://incubator.apache.org/guides/graduation.html.
>> >
>> > In addition, Sara and I have been working to transfer the PredictionIO
>> > trademark to the ASF. We will keep you updated with our progress.
>> >
>> > I would also like to propose to cut a 0.12.0 release by merging JIRAs
>> that
>> > have a target version set to 0.12.0-incubating for graduation. 0.12.0
>> will
>> > contain cleanups for minor license and copyright issues that were pointed
>> > out in previous releases by IPMC.
>> >
>> > Let me know what you think.
>> >
>> > Regards,
>> > Donald
>>
>>



-- 
Naoki Takezoe


Re: [VOTE] Apache PredictionIO (incubating) 0.12.0 Release (RC2)

2017-09-16 Thread Naoki Takezoe
Can we publish the binary distribution which is built by
make-distribution.sh together?
It would makes possible newbies to try PredictionIO in default
combination without build from source code.

I fixed make-distribution.sh to include a license file in PIO-69, so
it's ready to be released.
https://github.com/apache/incubator-predictionio/commit/2a4ecf3bc873a5fc5532c1b95166b9232e82d525#diff-a482fdd2c39acfb78529c30718c3c9ab

2017-09-15 6:06 GMT+09:00 Chan Lee :
> This is the vote for 0.12.0 of Apache PredictionIO (incubating).
>
> The vote will run for at least 72 hours and will close on Sep 17th, 2017.
>
> The release candidate artifacts can be downloaded here:
> https://dist.apache.org/repos/dist/dev/incubator/predi
> ctionio/0.12.0-incubating-rc2
>
> Test results of RC1 can be found here: https://travis-ci.org/ap
> ache/incubator-predictionio/builds/275634960
>
> Maven artifacts are built from the release candidate artifacts above, and
> are provided as convenience for testing with engine templates. The Maven
> artifacts are provided at the Maven staging repo here:
> https://repository.apache.org/content/repositories/orgapachepredictionio-1020
>
> All JIRAs completed for this release are tagged with 'FixVersion =
> 0.12.0-incubating'. You can view them here: https://issues.apache.or
> g/jira/secure/ReleaseNote.jspa?version=12340591&projectId=12320420
>
> The artifacts have been signed with Key: ytX8GpWv
>
> Please vote accordingly:
>
> [ ] +1, accept RC as the official 0.12.0 release
> [ ] -1, do not accept RC as the official 0.12.0 release because...



-- 
Naoki Takezoe


Re: [VOTE] Apache PredictionIO (incubating) 0.12.0 Release (RC2)

2017-09-17 Thread Naoki Takezoe
> Actually, I found out that there are complications with having to document
> difference in two versions of binary release.

Agree. Providing the default stack (and document for that) is
sufficient to make it easy to try PredictionIO.

-- 
Naoki Takezoe


Re: [VOTE] Apache PredictionIO (incubating) 0.12.0 Release (RC3)

2017-09-19 Thread Naoki Takezoe
+1 binding

I checked:
- make binaries from the source distribution
- build, train and deploy the recommender template with default stack
(PostgreSQL and Spark 2.1.1)


2017-09-19 19:00 GMT+09:00 takako shimamoto :
> +1 binding
>
> I checked:
> - Binaries working
> - Test the official templates (Recommendation, E-Commerce
> Recommendation, Similar Product and Classification) using Maven
> artifacts
>
> Much appreciated, Chan!
>
>
> 2017-09-19 6:31 GMT+09:00 Chan Lee :
>> +1 binding
>>
>>
>> On Mon, Sep 18, 2017 at 11:20 AM, Mars Hall 
>> wrote:
>>
>>> +1 binding
>>>
>>> I checked:
>>> - build, train, deploy, & batchpredict
>>> - complete Elasticsearch 5.x functionality
>>> - Binaries work directly for Heroku deployment
>>>
>>> Such an exciting release! Thank you Chan,
>>>
>>> *Mars
>>>
>>>
>>> On Sun, Sep 17, 2017 at 11:31 AM, Chan Lee  wrote:
>>> >
>>> > > This is the vote for 0.12.0 of Apache PredictionIO (incubating).
>>> > >
>>> > > The vote will run for at least 72 hours and will close on Sep 20th,
>>> 2017.
>>> > >
>>> > > The release candidate artifacts can be downloaded here:
>>> > > https://dist.apache.org/repos/dist/dev/incubator/predictionio/0.12.0-
>>> > > incubating-rc3
>>> > >
>>> > > Test results of RC3 can be found here:
>>> > > https://travis-ci.org/apache/incubator-predictionio/builds/276558626
>>> > >
>>> > > Maven artifacts are built from the release candidate artifacts above,
>>> and
>>> > > are provided as convenience for testing with engine templates. The
>>> Maven
>>> > > artifacts are provided at the Maven staging repo here:
>>> > > https://repository.apache.org/content/repositories/
>>> > > orgapachepredictionio-1021/
>>> > >
>>> > > All JIRAs completed for this release are tagged with 'FixVersion =
>>> > > 0.12.0-incubating'. You can view them here: https://issues.apache.or
>>> > > g/jira/secure/ReleaseNote.jspa?version=12340591&projectId=12320420
>>> > >
>>> > > The artifacts have been signed with Key: ytX8GpWv
>>> > >
>>> > > Please vote accordingly:
>>> > >
>>> > > [ ] +1, accept RC as the official 0.12.0 release
>>> > > [ ] -1, do not accept RC as the official 0.12.0 release because...
>>> > >
>>> >
>>>



-- 
Naoki Takezoe


Re: [VOTE] Resolution to create a TLP from graduating Incubator podling

2017-09-27 Thread Naoki Takezoe
+1 binding

2017-09-26 12:50 GMT+09:00 Donald Szeto :
> Hi all,
>
> Based on previous discussions (
> https://lists.apache.org/thread.html/2b4ef7c394584988cf0c99920824afaa60ee4c648d5c0069b1bf55c0@%3Cdev.predictionio.apache.org%3E
> and
> https://lists.apache.org/thread.html/1b06e510773ee1d315728e0ce25f220c9cf7d9e8ad601ec9dba4fe1d@%3Cdev.predictionio.apache.org%3E),
> I would like to start a formal vote on graduating PredictionIO from an
> Incubator podling to a top level project with the following resolution.
> This thread will be forwarded to the Incubator general mailing list.
>
> Once again, Salesforce has already signed and executed an assignment
> agreement to assign the PredictionIO mark to ASF.
>
> The graduation process we are following is described here:
> http://incubator.apache.org/guides/graduation.html
>
> Once this vote passes, a discussion will be started on Incubator general,
> followed by a vote when a consensus there would be arrived. The vote will
> run for at least 72 hours before closing at 9PM PST on 9/28/2017.
>
> Thank you all! Let's graduate.
>
> +1 (binding) from me.
>
> Regards,
> Donald
>
> -
>
> X. Establish the Apache PredictionIO Project
>
>WHEREAS, the Board of Directors deems it to be in the best
>interests of the Foundation and consistent with the
>Foundation's purpose to establish a Project Management
>Committee charged with the creation and maintenance of
>open-source software, for distribution at no charge to
>the public, related to a machine learning server built on top of
>state-of-the-art open source stack, that enables developers to manage
>and deploy production-ready predictive services for various kinds of
>machine learning tasks.
>
>NOW, THEREFORE, BE IT RESOLVED, that a Project Management
>Committee (PMC), to be known as the "Apache PredictionIO Project",
>be and hereby is established pursuant to Bylaws of the
>Foundation; and be it further
>
>RESOLVED, that the Apache PredictionIO Project be and hereby is
>responsible for the creation and maintenance of software
>related to a machine learning server built on top of
>state-of-the-art open source stack, that enables developers to manage
>and deploy production-ready predictive services for various kinds of
>machine learning tasks;
>and be it further
>
>RESOLVED, that the office of "Vice President, Apache PredictionIO" be
>and hereby is created, the person holding such office to
>serve at the direction of the Board of Directors as the chair
>of the Apache PredictionIO Project, and to have primary
> responsibility
>for management of the projects within the scope of
>responsibility of the Apache PredictionIO Project; and be it further
>
>RESOLVED, that the persons listed immediately below be and
>hereby are appointed to serve as the initial members of the
>Apache PredictionIO Project:
>
>  * Alex Merritt 
>  * Andrew Kyle Purtell 
>  * Chan Lee 
>  * Donald Szeto 
>  * Felipe Oliveira 
>  * James Taylor 
>  * Justin Yip 
>  * Kenneth Chan 
>  * Lars Hofhansl 
>  * Lee Moon Soo 
>  * Luciano Resende 
>  * Marcin Ziemiński 
>  * Marco Vivero 
>  * Mars Hall 
>  * Matthew Tovbin 
>  * Naoki Takezoe 
>  * Pat Ferrel 
>  * Paul Li 
>  * Shinsuke Sugaya 
>  * Simon Chan 
>  * Takahiro Hagino 
>  * Takako Shimamoto 
>  * Tamas Jambor 
>  * Tom Chan 
>  * Vitaly Gordon 
>  * Xiangrui Meng 
>  * Xusen Yin 
>  * Yevgeny Khodorkovsky 
>
>NOW, THEREFORE, BE IT FURTHER RESOLVED, that Donald Szeto
>be appointed to the office of Vice President, Apache PredictionIO, to
>serve in accordance with and subject to the direction of the
>Board of Directors and the Bylaws of the Foundation until
>death, resignation, retirement, removal or disqualification,
>or until a successor is appointed; and be it further
>
>RESOLVED, that the initial Apache PredictionIO PMC be and hereby is
>tasked with the creation of a set of bylaws intended to
>encourage open development and increased participation in the
>Apache PredictionIO Project; and be it further
>
>RESOLVED, that the Apache PredictionIO Project be and hereby
>is tasked with the migration and rationalization of the Apache
>Incubator PredictionIO podling; and be it further
>
>RESOLVED, that all responsibilities pertaining to the Apache
>Incubator PredictionIO podling encumbered upon the Apache Incubator
>Project are hereafter discharged.



-- 
Naoki Takezoe


[jira] [Comment Edited] (PIO-31) Move from spray to akka-http in servers

2017-04-03 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15954437#comment-15954437
 ] 

Naoki Takezoe edited comment on PIO-31 at 4/4/17 1:09 AM:
--

{quote}
It would probably be a little tricky to keep the code compatible with both 
Spray and Akka HTTP though.
{quote}

I really think so. It will bring confusion and need extra effort for 
maintenance. In my opinion, moving to Akka HTTP should be waited until it's 
possible to cut Scala 2.10 support.


was (Author: takezoe):
{quote}
It would probably be a little tricky to keep the code compatible with both 
Spray and Akka HTTP though.
{quote}

I really think so. It will bring confusion and need extra effort for 
maintenance. In my opinion, moving to Akka HTTP should be waited until 
PredictionIO can cut Scala 2.10 support.

> Move from spray to akka-http in servers
> ---
>
> Key: PIO-31
> URL: https://issues.apache.org/jira/browse/PIO-31
> Project: PredictionIO
>  Issue Type: Improvement
>Reporter: Marcin Ziemiński
>  Labels: gsoc2017
>
> On account of the death of spray for http and it being reborn as akka-http we 
> should update EventServer and Dashbord. It should be fairly simple, as 
> described in the following guide: 
> http://doc.akka.io/docs/akka/2.4/scala/http/migration-from-spray.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (PIO-31) Move from spray to akka-http in servers

2017-04-03 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15954437#comment-15954437
 ] 

Naoki Takezoe commented on PIO-31:
--

{quote}
It would probably be a little tricky to keep the code compatible with both 
Spray and Akka HTTP though.
{quote}

I really think so. It will bring confusion and need extra effort for 
maintenance. In my opinion, moving to Akka HTTP should be waited until 
PredictionIO can cut Scala 2.10 support.

> Move from spray to akka-http in servers
> ---
>
> Key: PIO-31
> URL: https://issues.apache.org/jira/browse/PIO-31
> Project: PredictionIO
>  Issue Type: Improvement
>Reporter: Marcin Ziemiński
>  Labels: gsoc2017
>
> On account of the death of spray for http and it being reborn as akka-http we 
> should update EventServer and Dashbord. It should be fairly simple, as 
> described in the following guide: 
> http://doc.akka.io/docs/akka/2.4/scala/http/migration-from-spray.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (PIO-65) Cache downloaded jars in Travis build

2017-05-11 Thread Naoki Takezoe (JIRA)
Naoki Takezoe created PIO-65:


 Summary: Cache downloaded jars in Travis build
 Key: PIO-65
 URL: https://issues.apache.org/jira/browse/PIO-65
 Project: PredictionIO
  Issue Type: Task
Reporter: Naoki Takezoe


Sometimes Travis build fails in downloading jars. Now Travis build has 12 
patterns of test and we don't have a permission to rebuild failed test. So we 
have to re-run all patterns by additional push or reopen pull request even if a 
part of test failed.

Maybe caching them makes Travis build stable and also decreases build time.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (PIO-65) Cache downloaded jars in Travis build

2017-05-11 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16007678#comment-16007678
 ] 

Naoki Takezoe commented on PIO-65:
--

I created a pull request:
https://github.com/apache/incubator-predictionio/pull/383

How do you think about this?

> Cache downloaded jars in Travis build
> -
>
> Key: PIO-65
> URL: https://issues.apache.org/jira/browse/PIO-65
> Project: PredictionIO
>  Issue Type: Task
>    Reporter: Naoki Takezoe
>
> Sometimes Travis build fails in downloading jars. Now Travis build has 12 
> patterns of test and we don't have a permission to rebuild failed test. So we 
> have to re-run all patterns by additional push or reopen pull request even if 
> a part of test failed.
> Maybe caching them makes Travis build stable and also decreases build time.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (PIO-90) Improve /batch/events.json endpoint performance

2017-05-30 Thread Naoki Takezoe (JIRA)
Naoki Takezoe created PIO-90:


 Summary: Improve /batch/events.json endpoint performance
 Key: PIO-90
 URL: https://issues.apache.org/jira/browse/PIO-90
 Project: PredictionIO
  Issue Type: Improvement
Reporter: Naoki Takezoe
Assignee: Naoki Takezoe


It's possible to improve /batch/events.json endpoint of the event server 
performance by using batch inserting in storage implementations. For example, 
Elasticsearch has bulk API and also JDBC has batch updating.

I propose adding LEvent.futureInsertBatch() that takes Seq[Event] and modify 
/batch/events.json endpoint to use it. The default implementation is calling 
existing futureInsert() per event, and we can override it in the storage 
implementation to use storage specific batch inserting API.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (PIO-92) HBase version is too old

2017-06-08 Thread Naoki Takezoe (JIRA)
Naoki Takezoe created PIO-92:


 Summary: HBase version is too old
 Key: PIO-92
 URL: https://issues.apache.org/jira/browse/PIO-92
 Project: PredictionIO
  Issue Type: Improvement
Affects Versions: 0.11.0-incubating
Reporter: Naoki Takezoe


The current HBase storage implementation in PredictionIO has dependencies to 
HBase 0.98.5, but it's already EOM. We should upgrade it to 1.2 at least.

Here is the status of HBase and Hadoop versions:
http://hbase.apache.org/book.html#hadoop 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (PIO-91) hadoop-hdfs artifact missing when creating binary version of PredictionIO

2017-06-09 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-91?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-91:
-
Fix Version/s: 0.12.0-incubating

> hadoop-hdfs artifact missing when creating binary version of PredictionIO
> -
>
> Key: PIO-91
> URL: https://issues.apache.org/jira/browse/PIO-91
> Project: PredictionIO
>  Issue Type: Bug
>  Components: Build
>Affects Versions: 0.11.0-incubating
> Environment: Spark: 1.6.3 for Hadoop 2.6
> Hadoop: 2.6.5
> Elasticsearch: 1.7.3
> Hbase: 1.2.5
> Scala: 2.10.6
>Reporter: Stephan Volkeri
>Assignee: Takako Shimamoto
> Fix For: 0.12.0-incubating
>
>
> I tried to upgrade from Version 0.10.0-incubating to 0.11.0-incubating. 
> After I created the binary version with:
> ./make-distribution.sh -Dscala.version=2.10.5 -Dspark.version=1.6.3 
> -Delasticsearch.version=1.7.5
> I copied the config files from my 0.10.0-incubating conf folder.
> During the test with "pio status" I got following error:
> 2017-05-31 13:08:46,819 ERROR org.apache.predictionio.data.storage.Storage$ 
> [main] - Error initializing storage client for source HDFS
> java.io.IOException: No FileSystem for scheme: hdfs
>   at 
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2586)
>   at 
> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2593)
>   at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
>   at 
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2632)
>   at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2614)
>   at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
>   at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:169)
>   at 
> org.apache.predictionio.data.storage.hdfs.StorageClient.(StorageClient.scala:32)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>   at 
> org.apache.predictionio.data.storage.Storage$.getClient(Storage.scala:223)
>   at 
> org.apache.predictionio.data.storage.Storage$.org$apache$predictionio$data$storage$Storage$$updateS2CM(Storage.scala:254)
>   at 
> org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:215)
>   at 
> org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:215)
>   at 
> scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
>   at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
>   at 
> org.apache.predictionio.data.storage.Storage$.sourcesToClientMeta(Storage.scala:215)
>   at 
> org.apache.predictionio.data.storage.Storage$.getDataObject(Storage.scala:284)
>   at 
> org.apache.predictionio.data.storage.Storage$.getDataObjectFromRepo(Storage.scala:269)
>   at 
> org.apache.predictionio.data.storage.Storage$.getModelDataModels(Storage.scala:411)
>   at 
> org.apache.predictionio.data.storage.Storage$.verifyAllDataObjects(Storage.scala:350)
>   at 
> org.apache.predictionio.tools.commands.Management$.status(Management.scala:156)
>   at org.apache.predictionio.tools.console.Pio$.status(Pio.scala:144)
>   at 
> org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:663)
>   at 
> org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:611)
>   at scala.Option.map(Option.scala:145)
>   at 
> org.apache.predictionio.tools.console.Console$.main(Console.scala:611)
>   at org.apache.predictionio.tools.console.Console.main(Console.scala)
> 2017-05-31 13:08:46,826 ERROR 
> org.apache.predictionio.tools.commands.Management$ [main] - Unable to connect 
> to all storage backends successfully.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (PIO-91) hadoop-hdfs artifact missing when creating binary version of PredictionIO

2017-06-09 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-91?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe resolved PIO-91.
--
Resolution: Fixed

> hadoop-hdfs artifact missing when creating binary version of PredictionIO
> -
>
> Key: PIO-91
> URL: https://issues.apache.org/jira/browse/PIO-91
> Project: PredictionIO
>  Issue Type: Bug
>  Components: Build
>Affects Versions: 0.11.0-incubating
> Environment: Spark: 1.6.3 for Hadoop 2.6
> Hadoop: 2.6.5
> Elasticsearch: 1.7.3
> Hbase: 1.2.5
> Scala: 2.10.6
>Reporter: Stephan Volkeri
>Assignee: Takako Shimamoto
> Fix For: 0.12.0-incubating
>
>
> I tried to upgrade from Version 0.10.0-incubating to 0.11.0-incubating. 
> After I created the binary version with:
> ./make-distribution.sh -Dscala.version=2.10.5 -Dspark.version=1.6.3 
> -Delasticsearch.version=1.7.5
> I copied the config files from my 0.10.0-incubating conf folder.
> During the test with "pio status" I got following error:
> 2017-05-31 13:08:46,819 ERROR org.apache.predictionio.data.storage.Storage$ 
> [main] - Error initializing storage client for source HDFS
> java.io.IOException: No FileSystem for scheme: hdfs
>   at 
> org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2586)
>   at 
> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2593)
>   at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
>   at 
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2632)
>   at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2614)
>   at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
>   at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:169)
>   at 
> org.apache.predictionio.data.storage.hdfs.StorageClient.(StorageClient.scala:32)
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>   at 
> org.apache.predictionio.data.storage.Storage$.getClient(Storage.scala:223)
>   at 
> org.apache.predictionio.data.storage.Storage$.org$apache$predictionio$data$storage$Storage$$updateS2CM(Storage.scala:254)
>   at 
> org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:215)
>   at 
> org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:215)
>   at 
> scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
>   at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
>   at 
> org.apache.predictionio.data.storage.Storage$.sourcesToClientMeta(Storage.scala:215)
>   at 
> org.apache.predictionio.data.storage.Storage$.getDataObject(Storage.scala:284)
>   at 
> org.apache.predictionio.data.storage.Storage$.getDataObjectFromRepo(Storage.scala:269)
>   at 
> org.apache.predictionio.data.storage.Storage$.getModelDataModels(Storage.scala:411)
>   at 
> org.apache.predictionio.data.storage.Storage$.verifyAllDataObjects(Storage.scala:350)
>   at 
> org.apache.predictionio.tools.commands.Management$.status(Management.scala:156)
>   at org.apache.predictionio.tools.console.Pio$.status(Pio.scala:144)
>   at 
> org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:663)
>   at 
> org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:611)
>   at scala.Option.map(Option.scala:145)
>   at 
> org.apache.predictionio.tools.console.Console$.main(Console.scala:611)
>   at org.apache.predictionio.tools.console.Console.main(Console.scala)
> 2017-05-31 13:08:46,826 ERROR 
> org.apache.predictionio.tools.commands.Management$ [main] - Unable to connect 
> to all storage backends successfully.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (PIO-69) Create binary version of PredictionIO as part of release process

2017-06-20 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-69?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16056898#comment-16056898
 ] 

Naoki Takezoe commented on PIO-69:
--

I checked license of libraries using sbt-dependency-plugin 
(https://github.com/jrudolph/sbt-dependency-graph):

{code}
[info] No license specified
[info]   org.apache.predictionio:apache-predictionio-common_2.10:0.11.1-SNAPSHOT
[info] 
[info] Apache 2
[info]   io.spray:spray-routing_2.10:1.3.3
[info]   io.spray:spray-httpx_2.10:1.3.3
[info]   io.spray:spray-can_2.10:1.3.3
[info]   io.spray:spray-io_2.10:1.3.3
[info]   io.spray:spray-http_2.10:1.3.3
[info]   org.parboiled:parboiled-scala_2.10:1.1.7
[info]   org.parboiled:parboiled-core:1.1.7
[info]   io.spray:spray-util_2.10:1.3.3
[info] 
[info] Apache License
[info]   com.chuusai:shapeless_2.10:1.2.4
[info] 
[info] Apache License, Version 2.0
[info]   com.typesafe.akka:akka-slf4j_2.10:2.3.15
[info]   com.typesafe.akka:akka-actor_2.10:2.3.15
[info]   com.typesafe:config:1.2.1
[info] 
[info] CDDL 1.1
[info]   org.jvnet.mimepull:mimepull:1.9.5
[info] 
[info] MIT License
[info]   org.slf4j:slf4j-api:1.7.5
[info] No license specified
[info]   org.apache.predictionio:apache-predictionio-parent_2.10:0.11.1-SNAPSHOT
[info] No license specified
[info]   org.apache.predictionio:apache-predictionio-e2_2.10:0.11.1-SNAPSHOT
[info] Updating {file:/Users/naoki.takezoe/incubator-predictionio/}data...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Updating {file:/Users/naoki.takezoe/incubator-predictionio/}data...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] No license specified
[info]   org.apache.predictionio:apache-predictionio-data_2.10:0.11.1-SNAPSHOT
[info]   org.apache.predictionio:apache-predictionio-common_2.10:0.11.1-SNAPSHOT
[info] 
[info] ASL
[info]   org.json4s:json4s-native_2.10:3.2.10
[info]   org.json4s:json4s-core_2.10:3.2.10
[info]   org.json4s:json4s-ast_2.10:3.2.10
[info] 
[info] Apache
[info]   com.github.nscala-time:nscala-time_2.10:2.6.0
[info] 
[info] Apache 2
[info]   joda-time:joda-time:2.9.1
[info]   org.joda:joda-convert:1.2
[info]   io.spray:spray-routing_2.10:1.3.3
[info]   io.spray:spray-httpx_2.10:1.3.3
[info]   io.spray:spray-can_2.10:1.3.3
[info]   io.spray:spray-io_2.10:1.3.3
[info]   io.spray:spray-http_2.10:1.3.3
[info]   org.parboiled:parboiled-scala_2.10:1.1.7
[info]   org.parboiled:parboiled-core:1.1.7
[info]   io.spray:spray-util_2.10:1.3.3
[info] 
[info] Apache License
[info]   com.chuusai:shapeless_2.10:1.2.4
[info] 
[info] Apache License, Version 2.0
[info]   com.typesafe.akka:akka-slf4j_2.10:2.3.15
[info]   com.typesafe.akka:akka-actor_2.10:2.3.15
[info]   com.typesafe:config:1.2.1
[info] 
[info] BSD
[info]   com.thoughtworks.paranamer:paranamer:2.6
[info]   org.clapper:grizzled-slf4j_2.10:1.0.2
[info] 
[info] BSD-like
[info]   org.scala-lang:scalap:2.10.6
[info]   org.scala-lang:scala-compiler:2.10.6
[info]   org.scala-lang:scala-reflect:2.10.6
[info] 
[info] CDDL 1.1
[info]   org.jvnet.mimepull:mimepull:1.9.5
[info] 
[info] MIT License
[info]   org.slf4j:slf4j-api:1.7.7
[info] Updating {file:/Users/naoki.takezoe/incubator-predictionio/}core...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Updating {file:/Users/naoki.takezoe/incubator-predictionio/}core...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] No license specified
[info]   org.apache.predictionio:apache-predictionio-core_2.10:0.11.1-SNAPSHOT
[info]   org.apache.predictionio:apache-predictionio-data_2.10:0.11.1-SNAPSHOT
[info]   org.apache.predictionio:apache-predictionio-common_2.10:0.11.1-SNAPSHOT
[info] 
[info] ASL
[info]   org.json4s:json4s-ext_2.10:3.2.10
[info]   org.json4s:json4s-native_2.10:3.2.10
[info]   org.json4s:json4s-core_2.10:3.2.10
[info]   org.json4s:json4s-ast_2.10:3.2.10
[info] 
[info] Apache
[info]   com.github.nscala-time:nscala-time_2.10:2.6.0
[info] 
[info] Apache 2
[info]   org.scalaj:scalaj-http_2.10:1.1.6
[info]   org.joda:joda-convert:1.6
[info]   org.objenesis:objenesis:2.1
[info]   com.twitter:chill-bijection_2.10:0.7.2
[info]   com.twitter:bijection-core_2.10:0.8.0
[info]   com.twitter:chill_2.10:0.7.2
[info]   com.twitter:chill-java:0.7.2
[info]   joda-time:joda-time:2.9.1
[info]   io.spray:spray-routing_2.10:1.3.3
[info]   io.spray:spray-httpx_2.10:1.3.3
[info]   io.spray:spray-can_2.10:1.3.3
[info]   io.spray:spray-io_2.10:1.3.3
[info]   io.spray:spray-http_2.10:1.3.3
[info]   org.parboiled:parboiled-scala_2.10:1.1.7
[info]   org.parboiled:parboiled-core:1.1.7
[info]   io.spray:spray-util_2.10:1.3.3
[info] 
[info] Apache License
[info]   com.chuusai:shapeless_2.10:1.2.4
[info] 
[info] Apache License, Version 2.0
[info]   net.jodah:typetools:0.3.1
[info]   org.apache.commons:commons-lang3:3.4
[info]   com.typesafe.akka:akka-slf4j_2.10:2.3.15
[

[jira] [Commented] (PIO-69) Create binary version of PredictionIO as part of release process

2017-06-20 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-69?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057034#comment-16057034
 ] 

Naoki Takezoe commented on PIO-69:
--

I finished to generate a license report which shows non-ASL libraries using 
sbt-license-report plugin. So I closed my previous PR and created new one.

> Create binary version of PredictionIO as part of release process
> 
>
> Key: PIO-69
> URL: https://issues.apache.org/jira/browse/PIO-69
> Project: PredictionIO
>  Issue Type: New Feature
>  Components: Build
>Reporter: Sara Asher
>Assignee: Shinsuke Sugaya
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-90) Improve /batch/events.json endpoint performance

2017-06-22 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-90?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-90:
-
Fix Version/s: 0.12.0-incubating

> Improve /batch/events.json endpoint performance
> ---
>
> Key: PIO-90
> URL: https://issues.apache.org/jira/browse/PIO-90
> Project: PredictionIO
>  Issue Type: Improvement
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
> Fix For: 0.12.0-incubating
>
>
> It's possible to improve /batch/events.json endpoint of the event server 
> performance by using batch inserting in storage implementations. For example, 
> Elasticsearch has bulk API and also JDBC has batch updating.
> I propose adding LEvent.futureInsertBatch() that takes Seq[Event] and modify 
> /batch/events.json endpoint to use it. The default implementation is calling 
> existing futureInsert() per event, and we can override it in the storage 
> implementation to use storage specific batch inserting API.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (PIO-90) Improve /batch/events.json endpoint performance

2017-06-22 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-90?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe resolved PIO-90.
--
Resolution: Fixed

> Improve /batch/events.json endpoint performance
> ---
>
> Key: PIO-90
> URL: https://issues.apache.org/jira/browse/PIO-90
> Project: PredictionIO
>  Issue Type: Improvement
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
> Fix For: 0.12.0-incubating
>
>
> It's possible to improve /batch/events.json endpoint of the event server 
> performance by using batch inserting in storage implementations. For example, 
> Elasticsearch has bulk API and also JDBC has batch updating.
> I propose adding LEvent.futureInsertBatch() that takes Seq[Event] and modify 
> /batch/events.json endpoint to use it. The default implementation is calling 
> existing futureInsert() per event, and we can override it in the storage 
> implementation to use storage specific batch inserting API.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Closed] (PIO-92) HBase version is too old

2017-06-27 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-92?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe closed PIO-92.

Resolution: Won't Fix

Keep current code for now because it works with the latest version of HBase 
(1.2.6) fine.

> HBase version is too old
> 
>
> Key: PIO-92
> URL: https://issues.apache.org/jira/browse/PIO-92
> Project: PredictionIO
>  Issue Type: Improvement
>Affects Versions: 0.11.0-incubating
>    Reporter: Naoki Takezoe
>
> The current HBase storage implementation in PredictionIO has dependencies to 
> HBase 0.98.5, but it's already EOM. We should upgrade it to 1.2 at least.
> Here is the status of HBase and Hadoop versions:
> http://hbase.apache.org/book.html#hadoop 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-88) Scripts for Windows

2017-07-05 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16075842#comment-16075842
 ] 

Naoki Takezoe commented on PIO-88:
--

I requested this, but we can't start this work soon and needs a lot of effort 
to make it, so we should postpone this ticket.

> Scripts for Windows
> ---
>
> Key: PIO-88
> URL: https://issues.apache.org/jira/browse/PIO-88
> Project: PredictionIO
>  Issue Type: New Feature
>Reporter: Sara Asher
>  Labels: newbie
>
> Create scripts so that windows users can download and install PredictionIO on 
> their windows machines.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-88) Scripts for Windows

2017-07-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-88:
-
Target Version/s:   (was: 0.12.0-incubating)

> Scripts for Windows
> ---
>
> Key: PIO-88
> URL: https://issues.apache.org/jira/browse/PIO-88
> Project: PredictionIO
>  Issue Type: New Feature
>Reporter: Sara Asher
>  Labels: newbie
>
> Create scripts so that windows users can download and install PredictionIO on 
> their windows machines.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-88) Scripts for Windows

2017-07-05 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16075844#comment-16075844
 ] 

Naoki Takezoe commented on PIO-88:
--

Unset a target version once.

> Scripts for Windows
> ---
>
> Key: PIO-88
> URL: https://issues.apache.org/jira/browse/PIO-88
> Project: PredictionIO
>  Issue Type: New Feature
>Reporter: Sara Asher
>  Labels: newbie
>
> Create scripts so that windows users can download and install PredictionIO on 
> their windows machines.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-60) Fix minor issues with author information

2017-07-09 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16079815#comment-16079815
 ] 

Naoki Takezoe commented on PIO-60:
--

It seems that already it has been fixed in:
https://github.com/apache/incubator-predictionio/commit/fcc5a5129b44933077d64d6b3ab0ac6fa12e2293.

So we can close this ticket.

> Fix minor issues with author information
> 
>
> Key: PIO-60
> URL: https://issues.apache.org/jira/browse/PIO-60
> Project: PredictionIO
>  Issue Type: Improvement
>Reporter: Donald Szeto
>Assignee: Chan
>Priority: Minor
>
> Justin Mclean has pointed out a couple minor issues regarding source files in 
> the release: 
> https://lists.apache.org/thread.html/198e33ae11343da7f29257293e90ace6cae07766045240d2981efb49@%3Cgeneral.incubator.apache.org%3E
> This should be fixed in the next patch release.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-62) Investigate RAT issues and other authorship information

2017-07-09 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-62?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16079814#comment-16079814
 ] 

Naoki Takezoe commented on PIO-62:
--

It seems that already it has been fixed in:
https://github.com/apache/incubator-predictionio/commit/fcc5a5129b44933077d64d6b3ab0ac6fa12e2293.

So we can close this ticket.

> Investigate RAT issues and other authorship information
> ---
>
> Key: PIO-62
> URL: https://issues.apache.org/jira/browse/PIO-62
> Project: PredictionIO
>  Issue Type: Bug
>Affects Versions: 0.11.0-incubating
>Reporter: Donald Szeto
>Assignee: Chan
>  Labels: newbie
>
> {quote}
> From: Luciano Resende 
> Subject: Re: [VOTE] Release Apache PredictionIO 0.11.0 (incubating) RC2
> Date: 2017-04-17 13:29 (-0700)
> List: gene...@incubator.apache.org
> show/hide original text
> I was running RAT on the source distribution and there are a lot of unknown
> licenses, some might be ok, but many are not, such as:
> *.sbt in projects and sub-projects
> *.css in docs
> Other things like signatures, etc seems ok
> -- 
> Luciano Resende
> http://twitter.com/lresende1975
> http://lresende.blogspot.com/
> {quote}
> Also take a look at
> # docs/manual/source/humans.txt
> # 
> examples/scala-parallel-recommendation/custom-query/data/src/main/scala/org/template/recommendation/ImportDataScript.scala



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-101) Document usage of Plug-in of event server and engine server

2017-07-12 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16085181#comment-16085181
 ] 

Naoki Takezoe commented on PIO-101:
---

I think we should cleanup plugins implementation before documenting them 
because they have unused (or unnecessary?) method currently.

> Document usage of Plug-in of event server and engine server
> ---
>
> Key: PIO-101
> URL: https://issues.apache.org/jira/browse/PIO-101
> Project: PredictionIO
>  Issue Type: Task
>  Components: Documentation
>Reporter: Kenneth Chan
>
> see 
> http://mail-archives.apache.org/mod_mbox/incubator-predictionio-dev/201706.mbox/%3CCAF_HxLtEonOVALSQgrCRGXctAbL7eypxwG0ErHpaBJJym15j5Q%40mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (PIO-104) Make proper implementation of plugins

2017-07-12 Thread Naoki Takezoe (JIRA)
Naoki Takezoe created PIO-104:
-

 Summary: Make proper implementation of plugins
 Key: PIO-104
 URL: https://issues.apache.org/jira/browse/PIO-104
 Project: PredictionIO
  Issue Type: Improvement
  Components: Core
Affects Versions: 0.11.0-incubating
Reporter: Naoki Takezoe
Assignee: Naoki Takezoe


The current plugin system has some issues to be fixed:

- start() method of plugin is not called, this method seems to be unnecessary
- outputSniffer exists as interface, but it's not implemented in engine server

We should fix them before documenting plugin usage in PIO-101



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-106) Elasticsearch 5.x StorageClient should reuse RestClient

2017-07-20 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16094896#comment-16094896
 ] 

Naoki Takezoe commented on PIO-106:
---

I tried to add cleanup step to storage some time ago, but I couldn't do it 
easily because PIO uses initialization of storages as health checking as well. 
If we do it with keeping current functionality and end user APIs, I think some 
refactoring of the internal structure of storage is required.

> Elasticsearch 5.x StorageClient should reuse RestClient
> ---
>
> Key: PIO-106
> URL: https://issues.apache.org/jira/browse/PIO-106
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 0.11.0-incubating
>Reporter: Mars Hall
>
> When using the proposed [PIO-105 Batch 
> Predictions|https://issues.apache.org/jira/browse/PIO-105] feature with an 
> engine that queries Elasticsearch in {{Algorithm#predict}}, Elasticsearch's 
> REST interface appears to become overloaded, ending with the Spark job being 
> killed from errors like:
> {noformat}
> [ERROR] [ESChannels] Failed to access to /pio_meta/channels/_search
> [ERROR] [Utils] Aborting task
> [ERROR] [ESApps] Failed to access to /pio_meta/apps/_search
> [ERROR] [Executor] Exception in task 747.0 in stage 1.0 (TID 749)
> [ERROR] [Executor] Exception in task 735.0 in stage 1.0 (TID 737)
> [ERROR] [Common$] Invalid app name ur
> [ERROR] [Utils] Aborting task
> [ERROR] [URAlgorithm] Error when read recent events: 
> java.lang.IllegalArgumentException: Invalid app name ur
> [ERROR] [Executor] Exception in task 749.0 in stage 1.0 (TID 751)
> [ERROR] [Utils] Aborting task
> [ERROR] [Executor] Exception in task 748.0 in stage 1.0 (TID 750)
> [WARN] [TaskSetManager] Lost task 749.0 in stage 1.0 (TID 751, localhost, 
> executor driver): java.net.BindException: Can't assign requested address
>   at sun.nio.ch.Net.connect0(Native Method)
>   at sun.nio.ch.Net.connect(Net.java:454)
>   at sun.nio.ch.Net.connect(Net.java:446)
>   at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
>   at 
> org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:273)
>   at 
> org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:139)
>   at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348)
>   at 
> org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:192)
>   at 
> org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
>   at java.lang.Thread.run(Thread.java:745)
> {noformat}
> After these errors happen & the job is killed, Elasticsearch immediately 
> recovers. It responds to queries normally. I researched what could cause this 
> and found an [old issue in the main Elasticsearch 
> repo|https://github.com/elastic/elasticsearch/issues/3647]. With the hints 
> given therein about *using keep-alive in the ES client* to avoid these 
> performance issues, I investigated how PredictionIO's [Elasticsearch 
> StorageClient|https://github.com/apache/incubator-predictionio/tree/develop/storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch]
>  manages its connections.
> I found that unlike the other StorageClients (Elasticsearch1, HBase, JDBC), 
> Elasticsearch creates a new underlying connection, an Elasticsearch 
> RestClient, for 
> [every|https://github.com/apache/incubator-predictionio/blob/develop/storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESApps.scala#L80]
>  
> [single|https://github.com/apache/incubator-predictionio/blob/develop/storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESApps.scala#L157]
>  
> [query|https://github.com/apache/incubator-predictionio/blob/develop/storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESChannels.scala#L78]
>  & 
> [interaction|https://github.com/apache/incubator-predictionio/blob/develop/storage/elasticsearch/src/main/scala/org/apache/predictionio/data/storage/elasticsearch/ESEngineInstances.scala#L205]
>  with its API. As a result, *there is no way Elasticsearch TCP connections 
> can be reused via HTTP keep-alive*.
> High-performance workloads with Elasticsearch 5.x will suffer from these 
> issues unless we refactor Elasticsearch StorageClient to share th

[jira] [Assigned] (PIO-110) Refactor common code shared by CreateServer and BatchPredict

2017-08-22 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe reassigned PIO-110:
-

Assignee: Naoki Takezoe

> Refactor common code shared by CreateServer and BatchPredict
> 
>
> Key: PIO-110
> URL: https://issues.apache.org/jira/browse/PIO-110
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 0.12.0-incubating
>Reporter: Donald Szeto
>    Assignee: Naoki Takezoe
>  Labels: newbie
>
> {{BatchPredict}} was created in PIO-105 and has a substantial amount of 
> shared code with {{CreateServer}}. It would be beneficial to refactor both of 
> them to share as much common code as possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (PIO-110) Refactor common code shared by CreateServer and BatchPredict

2017-08-28 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe resolved PIO-110.
---
  Resolution: Fixed
   Fix Version/s: 0.12.0-incubating
Target Version/s: 0.11.0-incubating

> Refactor common code shared by CreateServer and BatchPredict
> 
>
> Key: PIO-110
> URL: https://issues.apache.org/jira/browse/PIO-110
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 0.12.0-incubating
>Reporter: Donald Szeto
>    Assignee: Naoki Takezoe
>  Labels: newbie
> Fix For: 0.12.0-incubating
>
>
> {{BatchPredict}} was created in PIO-105 and has a substantial amount of 
> shared code with {{CreateServer}}. It would be beneficial to refactor both of 
> them to share as much common code as possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-110) Refactor common code shared by CreateServer and BatchPredict

2017-08-28 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-110:
--
Target Version/s: 0.12.0-incubating  (was: 0.11.0-incubating)

> Refactor common code shared by CreateServer and BatchPredict
> 
>
> Key: PIO-110
> URL: https://issues.apache.org/jira/browse/PIO-110
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 0.11.0-incubating
>Reporter: Donald Szeto
>    Assignee: Naoki Takezoe
>  Labels: newbie
> Fix For: 0.12.0-incubating
>
>
> {{BatchPredict}} was created in PIO-105 and has a substantial amount of 
> shared code with {{CreateServer}}. It would be beneficial to refactor both of 
> them to share as much common code as possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-110) Refactor common code shared by CreateServer and BatchPredict

2017-08-28 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-110:
--
Affects Version/s: (was: 0.12.0-incubating)
   0.11.0-incubating

> Refactor common code shared by CreateServer and BatchPredict
> 
>
> Key: PIO-110
> URL: https://issues.apache.org/jira/browse/PIO-110
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 0.11.0-incubating
>Reporter: Donald Szeto
>    Assignee: Naoki Takezoe
>  Labels: newbie
> Fix For: 0.12.0-incubating
>
>
> {{BatchPredict}} was created in PIO-105 and has a substantial amount of 
> shared code with {{CreateServer}}. It would be beneficial to refactor both of 
> them to share as much common code as possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Assigned] (PIO-101) Document usage of Plug-in of event server and engine server

2017-10-03 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe reassigned PIO-101:
-

Assignee: Naoki Takezoe

> Document usage of Plug-in of event server and engine server
> ---
>
> Key: PIO-101
> URL: https://issues.apache.org/jira/browse/PIO-101
> Project: PredictionIO
>  Issue Type: Task
>  Components: Documentation
>Reporter: Kenneth Chan
>    Assignee: Naoki Takezoe
>
> see 
> http://mail-archives.apache.org/mod_mbox/incubator-predictionio-dev/201706.mbox/%3CCAF_HxLtEonOVALSQgrCRGXctAbL7eypxwG0ErHpaBJJym15j5Q%40mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (PIO-101) Document usage of Plug-in of event server and engine server

2017-10-03 Thread Naoki Takezoe (JIRA)

[ 
https://issues.apache.org/jira/browse/PIO-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16190643#comment-16190643
 ] 

Naoki Takezoe commented on PIO-101:
---

[~sasher] Sure. I will do it.

> Document usage of Plug-in of event server and engine server
> ---
>
> Key: PIO-101
> URL: https://issues.apache.org/jira/browse/PIO-101
> Project: PredictionIO
>  Issue Type: Task
>  Components: Documentation
>Reporter: Kenneth Chan
>
> see 
> http://mail-archives.apache.org/mod_mbox/incubator-predictionio-dev/201706.mbox/%3CCAF_HxLtEonOVALSQgrCRGXctAbL7eypxwG0ErHpaBJJym15j5Q%40mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)
Naoki Takezoe created PIO-129:
-

 Summary: CLI document does not expand side menu
 Key: PIO-129
 URL: https://issues.apache.org/jira/browse/PIO-129
 Project: PredictionIO
  Issue Type: Improvement
  Components: Documentation
Reporter: Naoki Takezoe
Assignee: Naoki Takezoe
Priority: Minor
 Attachments: cli_doc1.png, cli_doc2.png

There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are cliked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.

I propose to remove these links and put a link to CLI document in the resource 
section without hash, and put links to the CLI reference in documents of the 
event server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-129:
--
Description: 
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.

I propose to remove these links from the deploy section and the collecting data 
section, and put a link to CLI document in the resource section without hash. 
In addition, put links to the CLI reference in documents of the event server 
and the engine server.

  was:
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are cliked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.

I propose to remove these links and put a link to CLI document in the resource 
section without hash, and put links to the CLI reference in documents of the 
event server and the engine server.


> CLI document does not expand side menu
> --
>
> Key: PIO-129
> URL: https://issues.apache.org/jira/browse/PIO-129
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Documentation
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
>Priority: Minor
> Attachments: cli_doc1.png, cli_doc2.png
>
>
> There are links to CLI document in the deploy section and collecting data 
> section of the side menu, but if these links are clicked, the side menu is 
> closed because these links have a hash like {{/cli/#engine-commands}}.
> I propose to remove these links from the deploy section and the collecting 
> data section, and put a link to CLI document in the resource section without 
> hash. In addition, put links to the CLI reference in documents of the event 
> server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-129:
--
Attachment: (was: cli_doc1.png)

> CLI document does not expand side menu
> --
>
> Key: PIO-129
> URL: https://issues.apache.org/jira/browse/PIO-129
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Documentation
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
>Priority: Minor
>
> There are links to CLI document in the deploy section and collecting data 
> section of the side menu, but if these links are clicked, the side menu is 
> closed because these links have a hash like {{/cli/#engine-commands}}.
> I propose to remove these links from the deploy section and the collecting 
> data section, and put a link to CLI document in the resource section without 
> hash. In addition, put links to the CLI reference in documents of the event 
> server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-129:
--
Attachment: (was: cli_doc2.png)

> CLI document does not expand side menu
> --
>
> Key: PIO-129
> URL: https://issues.apache.org/jira/browse/PIO-129
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Documentation
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
>Priority: Minor
>
> There are links to CLI document in the deploy section and collecting data 
> section of the side menu, but if these links are clicked, the side menu is 
> closed because these links have a hash like {{/cli/#engine-commands}}.
> I propose to remove these links from the deploy section and the collecting 
> data section, and put a link to CLI document in the resource section without 
> hash. In addition, put links to the CLI reference in documents of the event 
> server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-129:
--
Description: 
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.
https://predictionio.incubator.apache.org/cli/#engine-commands

I propose to remove these links from the deploy section and the collecting data 
section, and put a link to CLI document in the resource section without hash. 
In addition, put links to the CLI reference in documents of the event server 
and the engine server.

  was:
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.

I propose to remove these links from the deploy section and the collecting data 
section, and put a link to CLI document in the resource section without hash. 
In addition, put links to the CLI reference in documents of the event server 
and the engine server.


> CLI document does not expand side menu
> --
>
> Key: PIO-129
> URL: https://issues.apache.org/jira/browse/PIO-129
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Documentation
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
>Priority: Minor
>
> There are links to CLI document in the deploy section and collecting data 
> section of the side menu, but if these links are clicked, the side menu is 
> closed because these links have a hash like {{/cli/#engine-commands}}.
> https://predictionio.incubator.apache.org/cli/#engine-commands
> I propose to remove these links from the deploy section and the collecting 
> data section, and put a link to CLI document in the resource section without 
> hash. In addition, put links to the CLI reference in documents of the event 
> server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (PIO-129) CLI document does not expand side menu

2017-10-05 Thread Naoki Takezoe (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIO-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naoki Takezoe updated PIO-129:
--
Description: 
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}. I think 
that such unclear navigation would confuse readers.
https://predictionio.incubator.apache.org/cli/#engine-commands

I propose to remove these links from the deploy section and the collecting data 
section, and put a link to CLI document in the resource section without hash. 
In addition, put links to the CLI reference in documents of the event server 
and the engine server.

  was:
There are links to CLI document in the deploy section and collecting data 
section of the side menu, but if these links are clicked, the side menu is 
closed because these links have a hash like {{/cli/#engine-commands}}.
https://predictionio.incubator.apache.org/cli/#engine-commands

I propose to remove these links from the deploy section and the collecting data 
section, and put a link to CLI document in the resource section without hash. 
In addition, put links to the CLI reference in documents of the event server 
and the engine server.


> CLI document does not expand side menu
> --
>
> Key: PIO-129
> URL: https://issues.apache.org/jira/browse/PIO-129
> Project: PredictionIO
>  Issue Type: Improvement
>  Components: Documentation
>    Reporter: Naoki Takezoe
>    Assignee: Naoki Takezoe
>Priority: Minor
>
> There are links to CLI document in the deploy section and collecting data 
> section of the side menu, but if these links are clicked, the side menu is 
> closed because these links have a hash like {{/cli/#engine-commands}}. I 
> think that such unclear navigation would confuse readers.
> https://predictionio.incubator.apache.org/cli/#engine-commands
> I propose to remove these links from the deploy section and the collecting 
> data section, and put a link to CLI document in the resource section without 
> hash. In addition, put links to the CLI reference in documents of the event 
> server and the engine server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


<    1   2