Openshift for Play: the remote end hung up unexpectedly

I am trying to start a playback project in release mode. The first phase, which accounted for almost 15% of the project, was successfully completed and loaded. So, I am assuming the initial configuration was fine. Now after I have completed almost the whole project, then when I try to promote the project using ssh, every time after a while the remote server hangs with the following message.

remote: [info] Done packaging.
remote: model contains 69 documentable templates
Connection to blogofprime-thatsqt.rhcloud.com closed by remote host.
fatal: The remote end hung up unexpectedly
error: error in sideband demultiplexer
To ssh://5455ef32e0b8cd379e000293@blogofprime-thatsqt.rhcloud.com/~/git/blogofprime.git/
 + 557ec12...4034b71 HEAD -> master (forced update)

      

Each time after a certain step, the remote server is removed.

My openshift.conf file:

# This is the main configuration file for the application.
# ~~~~~

include "application"

# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use the same key!
application.secret="V0sLX<RAciXw_>7^O8y=I4BRW/M4@vhVhF=H44`lMfgAV2hs^Pp?tsfroKt1J3eX"

# The application languages
# ~~~~~
application.langs="en"

# Database configuration
# ~~~~~ 
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://"${OPENSHIFT_MYSQL_DB_HOST}":"${OPENSHIFT_MYSQL_DB_PORT}"/"${OPENSHIFT_APP_NAME}
db.default.user=${OPENSHIFT_MYSQL_DB_USERNAME}
db.default.password=${OPENSHIFT_MYSQL_DB_PASSWORD}

# Evolutions
# ~~~~~
# You can disable evolutions if needed
# evolutionplugin=disabled

# Ebean configuration
# ~~~~~
# You can declare as many Ebean servers as you want.
# By convention, the default server is named `default`
#
ebean.default="models.*"


# Logger
# ~~~~~
# You can also configure logback (http://logback.qos.ch/), by providing a logger.xml file in the conf directory .

# Root logger:
logger.root=ERROR

# Logger used by the framework:
logger.play=INFO

# Logger provided to your application:
logger.application=DEBUG

      

My build.sbt file:

name := "thatsqt"

version := "1.0-SNAPSHOT"

scalaVersion := "2.11.2" // or "2.10.4"

libraryDependencies ++= Seq(
  // Select Play modules
  jdbc,      // The JDBC connection pool and the play.api.db API
  //anorm,     // Scala RDBMS Library
  javaJdbc,  // Java database API
  javaEbean, // Java Ebean plugin
  javaJpa,   // Java JPA plugin
  filters,   // A set of built-in filters
  javaCore,  // The core Java API
  // WebJars pull in client-side web librarie
  "org.webjars" %% "webjars-play" % "2.3.0",
  "com.typesafe.play" %% "play-slick" % "0.8.0",
  // Add your own project dependencies in the form:
  // "group" % "artifact" % "version"
  "mysql" % "mysql-connector-java" % "5.1.27"
)

fork in Test := false

lazy val root = (project in file(".")).enablePlugins(PlayJava)

EclipseKeys.withSource := true

      

Platform: I am using Mac OS X and a type activator for the playback platform.

What I tried: I tried unset TMOUT

on both the server and client. At the moment I'm not very sure if this is a timeout issue or something else.

My Project Link: https://github.com/magurmach/PlayOpenshiftThatsQt

How can I solve this problem?

+3


source to share


2 answers


If the problem is recent, it might be due to a quota exceeded. It is very common to run out of space using small 1GB gears.

Try using the rhc app-tidy rhc command:



rhc app-tidy <app>

      

0


source


Do you include large binaries in your project? This can cause git to take up a lot of server RAM, and a small Openshift device will kill things that take up too much RAM. The solution is to ssh into your Openshift box (using "rhc ssh" or equivalent) and tell the server-side git to limit RAM usage:

cd git/*.git
git config pack.windowMemory "25m"
git config pack.packSizeLimit "25m"
git config pack.threads "1"

      



and why they didn't, by default I have no idea.

Also, the next time you want to put large binaries into your project, you don't need to check them out in the git repository (which will take up space keeping track of their entire history): you can simply instruct your application to download them from another server as needed (the second server only needs the ability to host static files).

0


source







All Articles