Opened 12 years ago

Closed 12 years ago

#239 closed enhancement (fixed)

Handling of new client connections

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: minor Milestone: 8.4
Component: server Version: 8.3
Keywords: Cc: Peter Baumann
Complexity: Medium

Description

In source:server/rasserver_entry.cc method at line 88, the problematic code is

#if 0 // client table is a relict from 1-process, multi-user rasdaman;
    // now it conflicts with rasmgr dispatcher mimics, so we disable -- PB 2005-sep-01
    currentClientContext = new ClientTblElt( client, ++(clientCount) );
    currentClientIdx    = clientCount;
#else
// this id must be !=0 because otherwise in ServerComm::getClientContext() it will not be recognized as valid id, and then the "last action" time will not be updated (timeout!)
#define SINGLETON_CLIENTID ULONG_MAX

    // disable client list by using only 1 element (fixed id), initialize only once
    currentClientIdx = SINGLETON_CLIENTID;
    // if (currentClientContext==NULL)
    currentClientContext = new ClientTblElt( client, currentClientIdx );
    TALK( "using constant Client id " << currentClientIdx );

    // make sure any old element is deleted; currently inhibited, crashes :( -- PB 2005-sep-02
    // RMInit::logOut << "client table has " << clientTbl.size() << " elements before cleanup, ";
    // ServerComm::deleteClientTblEntry( currentClientIdx );
    // RMInit::logOut << " and " << clientTbl.size() << " after.";
#endif // 0

After a java request to rasdaman (e.g. WCPS), rasql is still seen as a java client, which later on can cause further troubles. Changing the #if 0 to #if 1 fixes this.

Change History (5)

comment:1 by Peter Baumann, 12 years ago

we might want to either completely remove this part of the code (client management), or revisit it in conjunction with rasmgr. Currently it does not serve any purpose, but it might when we have an SQL/rasql mediator in place (which might obsolete rasmgr - not sure).

comment:2 by Dimitar Misev, 12 years ago

For the moment I'd like to fix the above in the easiest way, because I implemented the SELECT INTO (#238), but the above now is breaking regular import with rasql after Java queries.

Switching to #if 1 doesn't seem to break anything (system test running fine), so I'd suggest to do that for now?

comment:3 by Peter Baumann, 12 years ago

sure, that's certainly valuable; let's just not forget it (=close the ticket now).

comment:4 by Dimitar Misev, 12 years ago

Priority: majorminor
Type: defectenhancement

I just change the priorities now.

comment:5 by Peter Baumann, 12 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.