Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 5979 invoked from network); 10 Mar 2011 23:55:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 10 Mar 2011 23:55:20 -0000 Received: (qmail 33291 invoked by uid 500); 10 Mar 2011 23:55:18 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 33265 invoked by uid 500); 10 Mar 2011 23:55:18 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 33257 invoked by uid 99); 10 Mar 2011 23:55:18 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Mar 2011 23:55:18 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [74.125.82.44] (HELO mail-ww0-f44.google.com) (74.125.82.44) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Mar 2011 23:55:09 +0000 Received: by wwa36 with SMTP id 36so2487999wwa.25 for ; Thu, 10 Mar 2011 15:54:49 -0800 (PST) Received: by 10.216.155.205 with SMTP id j55mr6165396wek.90.1299801289291; Thu, 10 Mar 2011 15:54:49 -0800 (PST) Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com [74.125.82.172]) by mx.google.com with ESMTPS id f52sm1866682wes.35.2011.03.10.15.54.48 (version=SSLv3 cipher=OTHER); Thu, 10 Mar 2011 15:54:48 -0800 (PST) Received: by wyb42 with SMTP id 42so2230735wyb.31 for ; Thu, 10 Mar 2011 15:54:48 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.229.38 with SMTP id g38mr7128712weq.70.1299801288171; Thu, 10 Mar 2011 15:54:48 -0800 (PST) Received: by 10.216.49.20 with HTTP; Thu, 10 Mar 2011 15:54:48 -0800 (PST) In-Reply-To: <63DF6806-4005-4B9C-922F-03FB6D626EDA@thelastpickle.com> References: <63DF6806-4005-4B9C-922F-03FB6D626EDA@thelastpickle.com> Date: Fri, 11 Mar 2011 09:54:48 +1000 Message-ID: Subject: Re: Exception when running a clean up From: Stu King To: user@cassandra.apache.org Cc: aaron morton Content-Type: multipart/alternative; boundary=0016364997310f6023049e29929f X-Virus-Checked: Checked by ClamAV on apache.org --0016364997310f6023049e29929f Content-Type: text/plain; charset=ISO-8859-1 I have upgraded from 0.7.0 to 0.7.3. I then run nodetool scrub on my keyspace and now see this exception: Exception in thread "main" java.io.IOError: java.io.IOException: Cannot run program "ln": java.io.IOException: error=24, Too many open files at org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilyStore.java:1658) at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFamilyStore.java:962) at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.io.IOException: Cannot run program "ln": java.io.IOException: error=24, Too many open files at java.lang.ProcessBuilder.start(ProcessBuilder.java:475) at org.apache.cassandra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:181) at org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:147) at org.apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:617) at org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilyStore.java:1651) ... 32 more Caused by: java.io.IOException: java.io.IOException: error=24, Too many open files at java.lang.UNIXProcess.(UNIXProcess.java:164) at java.lang.ProcessImpl.start(ProcessImpl.java:81) at java.lang.ProcessBuilder.start(ProcessBuilder.java:468) ... 36 more On Thu, Mar 10, 2011 at 5:49 PM, aaron morton wrote: > What version of cassandra are you using and what is the upgrade history for > the cluster? > Aaron > > On 10/03/2011, at 8:24 PM, Stu King wrote: > > > I am seeing this exception when I am trying to run a cleanup. I want to > decommission the node after the cleanup. > > > > java.util.concurrent.ExecutionException: java.io.IOError: > java.io.EOFException > > at > java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) > > at java.util.concurrent.FutureTask.get(FutureTask.java:111) > > at > org.apache.cassandra.db.CompactionManager.performCleanup(CompactionManager.java:180) > > at > org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(ColumnFamilyStore.java:909) > > at > org.apache.cassandra.service.StorageService.forceTableCleanup(StorageService.java:1127) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:616) > > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) > > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) > > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) > > at > com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > > at > com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) > > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) > > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) > > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) > > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) > > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) > > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) > > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:616) > > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > > at sun.rmi.transport.Transport$1.run(Transport.java:177) > > at java.security.AccessController.doPrivileged(Native Method) > > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) > > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) > > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > > at java.lang.Thread.run(Thread.java:636) > > Caused by: java.io.IOError: java.io.EOFException > > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:105) > > at > org.apache.cassandra.db.CompactionManager.doCleanupCompaction(CompactionManager.java:418) > > at > org.apache.cassandra.db.CompactionManager.access$400(CompactionManager.java:54) > > at > org.apache.cassandra.db.CompactionManager$2.call(CompactionManager.java:171) > > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > > ... 3 more > > Caused by: java.io.EOFException > > at java.io.RandomAccessFile.readFully(RandomAccessFile.java:416) > > at > org.apache.cassandra.utils.FBUtilities.readByteArray(FBUtilities.java:280) > > at > org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:76) > > at > org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:364) > > at > org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:313) > > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:101) > > ... 8 more > > --0016364997310f6023049e29929f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I have upgraded from 0.7.0 to 0.7.3. I then run nodetool scrub on my keyspa= ce and now see this exception:

Exception in thread = "main" java.io.IOError: java.io.IOException: Cannot run program &= quot;ln": java.io.IOException: error=3D24, Too many open files
at or= g.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilySt= ore.java:1658)
at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFam= ilyStore.java:962)
at or= g.apache.cassandra.service.StorageService.scrub(StorageService.java:1256)
a= t sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at su= n.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)=
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:43)
at ja= va.lang.reflect.Method.invoke(Method.java:616)
at com.sun.jmx.mbeanserver.S= tandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111)
at co= m.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntro= spector.java:45)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBean= Introspector.java:226)
at co= m.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
= at com.sun= .jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251)
at co= m.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServ= erInterceptor.java:857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Jm= xMBeanServer.java:795)
at ja= vax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.j= ava:1450)
at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMICo= nnectionImpl.java:90)
at ja= vax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConn= ectionImpl.java:1285)
at javax.management.remote.rmi.RMIConnectionImpl.doPr= ivilegedOperation(RMIConnectionImpl.java:1383)
at ja= vax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:8= 07)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at su= n.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)=
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:43)
at ja= va.lang.reflect.Method.invoke(Method.java:616)
at sun.rmi.server.UnicastSer= verRef.dispatch(UnicastServerRef.java:322)
at su= n.rmi.transport.Transport$1.run(Transport.java:177)
at java.security.Acce= ssController.doPrivileged(Native Method)
at su= n.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transp= ort.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at su= n.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:8= 08)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTranspor= t.java:667)
at ja= va.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:111= 0)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor= .java:603)
at ja= va.lang.Thread.run(Thread.java:636)
Caused by: java.io.IOExceptio= n: Cannot run program "ln": java.io.IOException: error=3D24, Too = many open files
at ja= va.lang.ProcessBuilder.start(ProcessBuilder.java:475)
at org.apache.cassand= ra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:181)
at or= g.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:147)
at org.= apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:61= 7)
at or= g.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilySt= ore.java:1651)
... 32 more
Caused by: java.io.IOException: java.io.IOException: error=3D24, Too m= any open files
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)<= /div>
at ja= va.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.= start(ProcessBuilder.java:468)
... 3= 6 more


On Thu, Mar 10, 2= 011 at 5:49 PM, aaron morton <aaron@thelastpickle.com> wrote:
What version of cassandra are you using and= what is the upgrade history for the cluster?
Aaron

On 10/03/2011, at 8:24 PM, Stu King wrote:

> I am seeing this exception when I am trying to run a cleanup. I want t= o decommission the node after the cleanup.
>
> java.util.concurrent.ExecutionException: java.io.IOError: java.io.EOFE= xception
> =A0 =A0 =A0 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTas= k.java:252)
> =A0 =A0 =A0 at java.util.concurrent.FutureTask.get(FutureTask.java:111= )
> =A0 =A0 =A0 at org.apache.cassandra.db.CompactionManager.performCleanu= p(CompactionManager.java:180)
> =A0 =A0 =A0 at org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(= ColumnFamilyStore.java:909)
> =A0 =A0 =A0 at org.apache.cassandra.service.StorageService.forceTableC= leanup(StorageService.java:1127)
> =A0 =A0 =A0 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Met= hod)
> =A0 =A0 =A0 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho= dAccessorImpl.java:57)
> =A0 =A0 =A0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegat= ingMethodAccessorImpl.java:43)
> =A0 =A0 =A0 at java.lang.reflect.Method.invoke(Method.java:616)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invok= eM2(StandardMBeanIntrospector.java:111)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invok= eM2(StandardMBeanIntrospector.java:45)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBean= Introspector.java:226)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterfac= e.java:138)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSuppor= t.java:251)
> =A0 =A0 =A0 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.i= nvoke(DefaultMBeanServerInterceptor.java:857)
> =A0 =A0 =A0 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanS= erver.java:795)
> =A0 =A0 =A0 at javax.management.remote.rmi.RMIConnectionImpl.doOperati= on(RMIConnectionImpl.java:1450)
> =A0 =A0 =A0 at javax.management.remote.rmi.RMIConnectionImpl.access$20= 0(RMIConnectionImpl.java:90)
> =A0 =A0 =A0 at javax.management.remote.rmi.RMIConnectionImpl$Privilege= dOperation.run(RMIConnectionImpl.java:1285)
> =A0 =A0 =A0 at javax.management.remote.rmi.RMIConnectionImpl.doPrivile= gedOperation(RMIConnectionImpl.java:1383)
> =A0 =A0 =A0 at javax.management.remote.rmi.RMIConnectionImpl.invoke(RM= IConnectionImpl.java:807)
> =A0 =A0 =A0 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Met= hod)
> =A0 =A0 =A0 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho= dAccessorImpl.java:57)
> =A0 =A0 =A0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegat= ingMethodAccessorImpl.java:43)
> =A0 =A0 =A0 at java.lang.reflect.Method.invoke(Method.java:616)
> =A0 =A0 =A0 at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerR= ef.java:322)
> =A0 =A0 =A0 at sun.rmi.transport.Transport$1.run(Transport.java:177) > =A0 =A0 =A0 at java.security.AccessController.doPrivileged(Native Meth= od)
> =A0 =A0 =A0 at sun.rmi.transport.Transport.serviceCall(Transport.java:= 173)
> =A0 =A0 =A0 at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTr= ansport.java:553)
> =A0 =A0 =A0 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.ru= n0(TCPTransport.java:808)
> =A0 =A0 =A0 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.ru= n(TCPTransport.java:667)
> =A0 =A0 =A0 at java.util.concurrent.ThreadPoolExecutor.runWorker(Threa= dPoolExecutor.java:1110)
> =A0 =A0 =A0 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Thre= adPoolExecutor.java:603)
> =A0 =A0 =A0 at java.lang.Thread.run(Thread.java:636)
> Caused by: java.io.IOError: java.io.EOFException
> =A0 =A0 =A0 at org.apache.cassandra.io.sstable.SSTableIdentityIterator= .next(SSTableIdentityIterator.java:105)
> =A0 =A0 =A0 at org.apache.cassandra.db.CompactionManager.doCleanupComp= action(CompactionManager.java:418)
> =A0 =A0 =A0 at org.apache.cassandra.db.CompactionManager.access$400(Co= mpactionManager.java:54)
> =A0 =A0 =A0 at org.apache.cassandra.db.CompactionManager$2.call(Compac= tionManager.java:171)
> =A0 =A0 =A0 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTas= k.java:334)
> =A0 =A0 =A0 at java.util.concurrent.FutureTask.run(FutureTask.java:166= )
> =A0 =A0 =A0 ... 3 more
> Caused by: java.io.EOFException
> =A0 =A0 =A0 at java.io.RandomAccessFile.readFully(RandomAccessFile.jav= a:416)
> =A0 =A0 =A0 at org.apache.cassandra.utils.FBUtilities.readByteArray(FB= Utilities.java:280)
> =A0 =A0 =A0 at org.apache.cassandra.db.ColumnSerializer.deserialize(Co= lumnSerializer.java:76)
> =A0 =A0 =A0 at org.apache.cassandra.db.SuperColumnSerializer.deseriali= ze(SuperColumn.java:364)
> =A0 =A0 =A0 at org.apache.cassandra.db.SuperColumnSerializer.deseriali= ze(SuperColumn.java:313)
> =A0 =A0 =A0 at org.apache.cassandra.io.sstable.SSTableIdentityIterator= .next(SSTableIdentityIterator.java:101)
> =A0 =A0 =A0 ... 8 more


--0016364997310f6023049e29929f--