Opened 4 years ago

Closed 4 years ago

#239 closed enhancement (fixed)

Handling of new client connections

Reported by: dmisev Owned by: dmisev
Priority: minor Milestone: 8.4
Component: server Version: 8.3
Keywords: Cc: pbaumann
Complexity:

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 Changed 4 years ago by pbaumann

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 Changed 4 years ago by dmisev

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 Changed 4 years ago by pbaumann

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

comment:4 Changed 4 years ago by dmisev

  • Priority changed from major to minor
  • Type changed from defect to enhancement

I just change the priorities now.

comment:5 Changed 4 years ago by pbaumann

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.