Also, for clarification, I have not seen this error on Ubuntu, using nohup...
Failed to readjava.io.IOException: Bad file descriptor Perhaps you could share your configuration as well. -j On Tue, Jun 13, 2017 at 4:38 PM, John Blum <[email protected]> wrote: > Continuing from where I left off, sorry (damn email program and fat finger > typing)... > > So... the moment you add... > > <gfe:cache-server id="gemfireCacheServer" auto-startup="true" > bind-address="${gemfire.cache.server.bind-address:localhost}" > host-name-for-clients="${gemfire.cache.server.hostname-for > -clients:localhost}" > port="${gemfire.cache.server.port:40404}"/> > > Your, what was previously just a "GemFire Server", now has become a > "GemFire CacheServer", with the ability to "serve" GemFire cache client > applications (i.e. ClientCaches) and the *Spring* configured/launched > (e.g. with *Spring Boot* perhaps) GemFire Server will *NOT* fall through. > > I have plenty examples of this in my pivotal-gemfire-clientserver-examples > GitHub project > <https://github.com/jxblum/pivotal-gemfire-clientserver-examples> [3] as > well as another project, spring-boot-gemfire-server-example > <https://github.com/jxblum/spring-boot-gemfire-server-example>. [4] > > Additionally, you may see some examples I wrote where I *don't* > explicitly want my "GemFire Server" (peer member/data node) to be a " > CacheServer", in which case, I must take care to prevent the "GemFire > Server" from passing through and shutting down, like so... > > 1. Note this > <https://github.com/jxblum/spring-gemfire-tests/blob/master/src/main/java/org/spring/data/gemfire/app/main/PeerCacheApp.java#L28> > [5]. > > 2. And this > <https://github.com/jxblum/spring-gemfire-tests/blob/master/src/main/java/org/spring/data/gemfire/app/main/PeerCacheApp.java#L33> > [6]. > > 3. Then this > <https://github.com/jxblum/spring-gemfire-tests/blob/master/src/main/java/org/spring/data/gemfire/app/main/AbstractApp.java#L46-L54> > [7]. > > 4. Next this > <https://github.com/jxblum/spring-gemfire-tests/blob/master/src/main/java/org/spring/data/gemfire/app/main/AbstractApp.java#L74> > [8]. > > 5. And finally, this > <https://github.com/jxblum/spring-gemfire-tests/blob/master/src/main/java/org/spring/data/gemfire/app/main/AbstractApp.java#L41-L44> > [9]. > > No CacheServer is present in this example, but the GemFire JVM process > won't exit either since it is waiting on input, blocking the main > application Thread. > > The only other way to get the *Spring-*configured GemFire Server (*non*- > CacheServer) from not exiting is to configure (with Spring) and launch > with Gfsh, like so.. > > gfsh> start server --name=SpringConfiguredGemFireServer *--classpath* > =/path/to/necessary/spring/jars *--spring-xml-location*=/absolute/ > classpath/to/spring/context.xml > > Saying "context.xml" was the Spring XML configuraton shown above *without* > the (<gfe:cache-server>) element. > > Also, with *Apache Geode* and *Pivotal GemFire* *9*, you would need to > explicitly add the SDG and other *Spring* JARs to the GemFire Server's > classpath when started from *Gfsh*. > > Hope this helps. > > Cheers! > -John > > > [3] https://github.com/jxblum/pivotal-gemfire-clientserver-examples > [4] https://github.com/jxblum/spring-boot-gemfire-server-example > [5] https://github.com/jxblum/spring-gemfire-tests/blob/ > master/src/main/java/org/spring/data/gemfire/app/main/ > PeerCacheApp.java#L28 > [6] https://github.com/jxblum/spring-gemfire-tests/blob/ > master/src/main/java/org/spring/data/gemfire/app/main/ > PeerCacheApp.java#L33 > > > On Tue, Jun 13, 2017 at 4:22 PM, John Blum <[email protected]> wrote: > >> Hi Amit- >> >> Also maybe you could clarify a bit by what you mean by "Cache Server"? >> >> Outside of *Gfsh*, which has and uses "special logic >> <https://github.com/apache/geode/blob/rel/v1.1.1/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java#L904-L928>" >> [1] *to prevent* a "forked" GemFire Server (JVM) process from actually >> shutting down (I know; I wrote it) as there is literally *nothing* (e.g. >> no *non-daemon* Threads) that would prevent a normal "GemFire Server" >> from passing through completely and the JVM just exiting. >> >> When you start a "CacheServer >> <http://geode.apache.org/releases/latest/javadoc/org/apache/geode/cache/server/CacheServer.html>" >> [2], which *should not* be confused with a "GemFire Server", does there >> exist any such Thread; a *non-daemon* Thread that is listening on the >> configured CacheServer TCP ServerSocket for ClientCache (i.e. GemFire >> cache client) connections. >> >> To make this a little more apparent (in XML), if your SDG XML >> configuration consisted of only... >> >> <?xml version="1.0" encoding="utf-8"?> >> <beans xmlns="http://www.springframework.org/schema/beans"..."> >> >> <util:properties id="gemfireProperties"> >> <prop key="name">SpringDataGemFireServer</prop> >> <prop key="log-level">${gemfire.log.level:config}</prop> >> <prop key="start-locator">${gemfire.locator.host-port:localhost[10 >> 334]}</prop> >> </util:properties> >> >> <gfe:cache properties-ref="gemfireProperties"/> >> </beans> >> >> Then what you have here is *not* a "CacheServer"; it is a plain "GemFire >> Server", aka Data Node, aka Peer Member Cluster this configuration, lauched >> outside of *Gfsh* is going to fall straight through! >> >> However, the moment you add... >> >> <gfe:cache-server id="gemfireCacheServer" auto-startup="true" >> bind-address="${gemfire.cache.server.bind-address:localhost}" >> host-name-for-clients="${gemfire.cache.server.hostname-for >> -clients:localhost}" >> port="${gemfire.cache.server.port:40404}"/> >> >> [1] https://github.com/apache/geode/blob/rel/v1.1.1/geode-co >> re/src/main/java/org/apache/geode/distributed/ServerLauncher >> .java#L904-L928 >> [2] http://geode.apache.org/releases/latest/javadoc/org/apac >> he/geode/cache/server/CacheServer.html >> >> >> On Tue, Jun 13, 2017 at 1:59 PM, Jens Deppe <[email protected]> wrote: >> >>> Hi Amit, >>> >>> Exactly what commands are you executing to launch your server? Using >>> 'nohup' with gfsh works but I'm guessing that's not what you're doing. >>> >>> --Jens >>> >>> On Tue, Jun 13, 2017 at 1:47 PM, Amit Pandey <[email protected]> >>> wrote: >>> >>>> Hi Guys, >>>> >>>> When ever I am starting Spring-Data Gemfire server with nohup , I get >>>> this error in Ubuntu (AWS) >>>> >>>> Cache Server started Successfully ... >>>> Failed to readjava.io.IOException: Bad file descriptor >>>> [info 2017/06/13 20:46:36.608 UTC <Distributed system shutdown hook> >>>> tid=0x10] VM is exiting - shutting down distributed system >>>> Can anyone please help with this >>>> >>>> >>> >> >> >> -- >> -John >> john.blum10101 (skype) >> > > > > -- > -John > john.blum10101 (skype) > -- -John john.blum10101 (skype)
