You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2010/07/07 17:44:50 UTC

[jira] Created: (CASSANDRA-1256) Switch to THsHaServer

Switch to THsHaServer
---------------------

                 Key: CASSANDRA-1256
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
             Project: Cassandra
          Issue Type: Task
          Components: Core
            Reporter: Jonathan Ellis
            Assignee: Brandon Williams
            Priority: Minor
             Fix For: 0.7


If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886414#action_12886414 ] 

Brandon Williams commented on CASSANDRA-1256:
---------------------------------------------

I'm +1 on changing the stack size rather than trying to remove threadlocals, but it appears that due to some necessary recursion at startup, the minimum stack size I can use via -Xss is 128k.  I'm not sure if that's good enough or not.

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886477#action_12886477 ] 

Jonathan Ellis commented on CASSANDRA-1256:
-------------------------------------------

what are we doing recursively?

(the default on 64bit systems is 1MB so even 128 is a factor of 8 better.)

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886499#action_12886499 ] 

Jonathan Ellis commented on CASSANDRA-1256:
-------------------------------------------

yeah, not much we can do about that one :)

let's make 128 the default and call it good

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886085#action_12886085 ] 

Jonathan Ellis commented on CASSANDRA-1256:
-------------------------------------------

maybe we should just stick with threadpoolserver but reduce the default stack size to get 90% of the benefit for 10% of the effort

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1256) Reduce thread stack size

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1256:
--------------------------------------

    Summary: Reduce thread stack size  (was: Switch to THsHaServer)

> Reduce thread stack size
> ------------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7 beta 1
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888336#action_12888336 ] 

Hudson commented on CASSANDRA-1256:
-----------------------------------

Integrated in Cassandra #491 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/491/])
    

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams resolved CASSANDRA-1256.
-----------------------------------------

    Resolution: Fixed

Committed

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885973#action_12885973 ] 

Jonathan Ellis commented on CASSANDRA-1256:
-------------------------------------------

the painful part will be moving from threadlocals (for keyspace info) to per-connection objects.  not sure if there's even a sane way to do that.

i wouldn't be brokenhearted if we had to move back to keyspace-per-method-call but if we can't get per-conn info there's no way to schedule based on that (see CASSANDRA-1035)...  which may not be the end of the world either since any such scheduling is vapor now anyway, and given how half-baked our auth stuff is, likely to remain so for a while.

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-1256) Reduce thread stack size

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-1256.
---------------------------------------

    Resolution: Fixed

opened CASSANDRA-1405 rather than re-using this ticket.

> Reduce thread stack size
> ------------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7 beta 1
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886482#action_12886482 ] 

Brandon Williams commented on CASSANDRA-1256:
---------------------------------------------

It looks like it's the class loader from getLogger:

Exception in thread "main" java.lang.StackOverflowError
        at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
        at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
        at java.io.File.exists(File.java:733)
        at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:995)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:168)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
        at org.apache.cassandra.service.AbstractCassandraDaemon.<clinit>(AbstractCassandraDaemon.java:36)
Could not find the main class: org.apache.cassandra.thrift.CassandraDaemon.  Program will exit.

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (CASSANDRA-1256) Switch to THsHaServer

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reopened CASSANDRA-1256:
---------------------------------------


Brian's patch to CASSANDRA-876 suggested using a custom TProcessorFactory subclass, overriding getProcessor to reset to a default state when a new client connects.  It looks like this would allow dropping CustomTThreadPoolServer as well as allowing non-thread based servers.

> Switch to THsHaServer
> ---------------------
>
>                 Key: CASSANDRA-1256
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1256
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 0.7 beta 1
>
>
> If the performance problem is gone (as indicated when last explored) then it is worth switching to make life easier on people creating lots of client connections (primarily people running php w/ apache prefork, it seems).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.