Jeff, you're statement about ns_sets is slightly incorrect. ns_sets created with the -persist flag are not thread local. The handle for a ns_set created with the -persist flag is stored in a static hashtable that is globally accessible. Access to persistant sets is protected by a global mutex, so there shouldn't be a problem with accessing it from multiple threads.