Commit 62cfc6fe authored by David COME's avatar David COME
Browse files

Merge remote branch 'origin/tapeserver' into tapeserver

parents d16a639c ab879c3c
......@@ -12,7 +12,11 @@
#104024 Incorrect log error reporting in case of invalid user
... RFE: added support for querying file checksums through the xrootd interface
#104171 'Permission denied' message in rhd.log incomplete
#104257 PendingTimeout handling improvements
#104176 Rebalancing too aggressive may affect user activity
#104177 killtransfers doesn't kill when options are passed
#104192 ORA-02292: integrity constraint (CASTOR_STAGER.FK_DRAININGERRORS_DC) violated - child record found
#104233 printrecallstatus gives an error when there are no recalljobs in the DB
#104257 PendingTimeout handling improvements
---------------
......
......@@ -117,11 +117,9 @@ set (CLIENT_LIB_SRC_FILES
io/StreamStageGetRequestCnv.cpp
io/StreamStagePrepareToGetRequestCnv.cpp
io/StreamStagePrepareToPutRequestCnv.cpp
io/StreamStagePrepareToUpdateRequestCnv.cpp
io/StreamStagePutDoneRequestCnv.cpp
io/StreamStagePutRequestCnv.cpp
io/StreamStageRmRequestCnv.cpp
io/StreamStageUpdateRequestCnv.cpp
io/StreamThreadNotificationCnv.cpp
io/StreamStgFilesDeletedCnv.cpp
io/StreamStgFilesDeletedResponseCnv.cpp
......@@ -235,12 +233,10 @@ set (CLIENT_LIB_SRC_FILES
stager/StageGetRequest.cpp
stager/StagePrepareToGetRequest.cpp
stager/StagePrepareToPutRequest.cpp
stager/StagePrepareToUpdateRequest.cpp
stager/StagePutDoneRequest.cpp
stager/StagePutRequest.cpp
stager/StageQueryResult.cpp
stager/StageRmRequest.cpp
stager/StageUpdateRequest.cpp
stager/SubRequest.cpp
stager/SubRequestStatusCodes.cpp
stager/SubRequestGetNextStatusCodes.cpp
......@@ -268,7 +264,6 @@ set (CLIENT_LIB_SRC_FILES
../client/src/stager/stager_client_changePrivilege.c
../client/src/stager/stager_client_api_get.cpp
../client/src/stager/stager_client_api_put.cpp
../client/src/stager/stager_client_api_update.cpp
../client/src/stager/stager_client_api_open.cpp
../client/src/stager/stager_client_api_query.cpp
../client/src/stager/stager_client_api_rm.cpp
......@@ -377,8 +372,6 @@ if (${COMPILE_SERVER} STREQUAL "1")
install(FILES
stager/IJobSvc.hpp
stager/StagePrepareToUpdateRequest.hpp
stager/StageUpdateRequest.hpp
DESTINATION ${CASTOR_DEST_CPP_HEADERS_DIR}/stager
PERMISSIONS ${CASTOR_HEADER_PERMS})
......
......@@ -68,13 +68,13 @@ const char* castor::ObjectsIdStrings[ObjectsIdsNb] = {
"StageGetRequest",
"StagePrepareToGetRequest",
"StagePrepareToPutRequest",
"StagePrepareToUpdateRequest",
"DELETED TYPE",
"StagePutDoneRequest",
"StagePutRequest",
"DELETED TYPE",
"StageRmRequest",
"DELETED TYPE",
"StageUpdateRequest",
"DELETED TYPE",
"FileRequest",
"QryRequest",
"DELETED TYPE",
......
......@@ -57,11 +57,9 @@ namespace castor {
OBJ_StageGetRequest = 35,
OBJ_StagePrepareToGetRequest = 36,
OBJ_StagePrepareToPutRequest = 37,
OBJ_StagePrepareToUpdateRequest = 38,
OBJ_StagePutDoneRequest = 39,
OBJ_StagePutRequest = 40,
OBJ_StageRmRequest = 42,
OBJ_StageUpdateRequest = 44,
OBJ_FileRequest = 45,
OBJ_QryRequest = 46,
OBJ_StageAbortRequest = 50,
......
......@@ -194,6 +194,14 @@
# list of scheduler servers to be connected to (to be defined on diskservers)
#DiskManager ServerHosts server1.fully.qualified.domain server2.fully.qualified.domain ...
# Guaranteed percentage of slots that won't be used for non-user-driven activities,
# e.g. draining or rebalancing. If a diskserver's slots are over this percentage full,
# disk-to-disk copy source jobs are kept pending to make sure the remaining slots
# are immediately available for user activity. Note that by pushing this value to 100,
# draining and rebalancing activities will go at one job at a time and only when there's
# no activity at all. It is recommended to not change the default value of 50.
#DiskManager GuaranteedUserSlotsPercentage 50
# Request throttling in the scheduler in terms of number of scheduled jobs
# per second and per scheduler host. Set it to -1 to disable throttling completely.
# Note that throttling is disabled by default
......@@ -462,8 +470,6 @@
#RMC PORT 5014 # TCP port for RMC daemon and client
# to work with (5014 is the default)
#RMC HOST localhost # RMC daemon host name on client hosts
# (localhost is the default)
# To switch the smc logic to a Spectra like library LIBRARY_TYPE SPECTRA should
# be used. It fixs outputs for the smc command line tools and disables not
......
......@@ -56,11 +56,9 @@ set (CNV_LIB_SRC_FILES
DbStageGetRequestCnv.cpp
DbStagePrepareToGetRequestCnv.cpp
DbStagePrepareToPutRequestCnv.cpp
DbStagePrepareToUpdateRequestCnv.cpp
DbStagePutDoneRequestCnv.cpp
DbStagePutRequestCnv.cpp
DbStageRmRequestCnv.cpp
DbStageUpdateRequestCnv.cpp
DbStgFilesDeletedCnv.cpp
DbSubRequestCnv.cpp
DbSvcClassCnv.cpp
......
This diff is collapsed.
/**** This file has been autogenerated by gencastor from Umbrello UML model ***/
/******************************************************************************
* castor/db/cnv/DbStagePrepareToUpdateRequestCnv.hpp
*
* This file is part of the Castor project.
* See http://castor.web.cern.ch/castor
*
* Copyright (C) 2003 CERN
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* @author Castor Dev team, castor-dev@cern.ch
*****************************************************************************/
#pragma once
// Include Files
#include "castor/Constants.hpp"
#include "castor/IAddress.hpp"
#include "castor/db/cnv/DbBaseCnv.hpp"
#include "castor/exception/Exception.hpp"
#include <vector>
namespace castor {
// Forward declarations
class IObject;
class ICnvSvc;
// Forward declarations
namespace stager {
// Forward declarations
class StagePrepareToUpdateRequest;
} /* end of namespace stager */
namespace db {
namespace cnv {
/**
* class DbStagePrepareToUpdateRequestCnv
* A converter for storing/retrieving StagePrepareToUpdateRequest into/from a
* generic database
*/
class DbStagePrepareToUpdateRequestCnv : public DbBaseCnv {
public:
/**
* Constructor
*/
DbStagePrepareToUpdateRequestCnv(castor::ICnvSvc* cnvSvc);
/**
* Destructor
*/
virtual ~DbStagePrepareToUpdateRequestCnv() throw();
/**
* Gets the object type.
* That is the type of object this converter can convert
*/
static unsigned int ObjType();
/**
* Gets the object type.
* That is the type of object this converter can convert
*/
virtual unsigned int objType() const;
/**
* Creates foreign representation from a C++ Object.
* @param address where to store the representation of
* the object
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @param type if not OBJ_INVALID, the ids representing
* the links to objects of this type will not set to 0
* as is the default.
* @exception Exception throws an Exception in case of error
*/
virtual void createRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction,
unsigned int type = castor::OBJ_INVALID)
throw (castor::exception::Exception);
/**
* Creates foreign representation from a set of C++ Objects.
* @param address where to store the representation of
* the objects
* @param objects the list of objects to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @param type if not OBJ_INVALID, the ids representing
* the links to objects of this type will not set to 0
* as is the default.
* @exception Exception throws an Exception in case of error
*/
virtual void bulkCreateRep(castor::IAddress* address,
std::vector<castor::IObject*> &objects,
bool endTransaction,
unsigned int type = castor::OBJ_INVALID)
throw (castor::exception::Exception);
/**
* Updates foreign representation from a C++ Object.
* @param address where the representation of
* the object is stored
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @exception Exception throws an Exception in case of error
*/
virtual void updateRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Deletes foreign representation of a C++ Object.
* @param address where the representation of
* the object is stored
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @exception Exception throws an Exception in case of error
*/
virtual void deleteRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Creates C++ object from foreign representation
* @param address the place where to find the foreign
* representation
* @return the C++ object created from its reprensentation
* or 0 if unsuccessful. Note that the caller is responsible
* for the deallocation of the newly created object
* @exception Exception throws an Exception in case of error
*/
virtual castor::IObject* createObj(castor::IAddress* address)
throw (castor::exception::Exception);
/**
* create C++ objects from foreign representations
* @param address the place where to find the foreign
* representations
* @return the C++ objects created from the representations
* or empty vector if unsuccessful. Note that the caller is
* responsible for the deallocation of the newly created objects
* @exception Exception throws an Exception in case of error
*/
virtual std::vector<castor::IObject*> bulkCreateObj(castor::IAddress* address)
throw (castor::exception::Exception);
/**
* Updates C++ object from its foreign representation.
* @param obj the object to deal with
* @exception Exception throws an Exception in case of error
*/
virtual void updateObj(castor::IObject* obj)
throw (castor::exception::Exception);
/**
* Fill the foreign representation with some of the objects.refered by a given C++
* object.
* @param address the place where to find the foreign representation
* @param object the original C++ object
* @param type the type of the refered objects to store
* @param endTransaction whether the changes to the database
* should be commited or not
* @exception Exception throws an Exception in case of error
*/
virtual void fillRep(castor::IAddress* address,
castor::IObject* object,
unsigned int type,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Fill the database with objects of type SubRequest refered by a given object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillRepSubRequest(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
/**
* Fill the database with objects of type SvcClass refered by a given object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillRepSvcClass(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
/**
* Fill the database with objects of type IClient refered by a given object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillRepIClient(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
/**
* Retrieve from the database some of the objects refered by a given object.
* @param object the original object
* @param type the type of the refered objects to retrieve
* @exception Exception throws an Exception in case of error
*/
virtual void fillObj(castor::IAddress* address,
castor::IObject* object,
unsigned int type,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Retrieve from the database objects of type SubRequest refered by a given
* object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillObjSubRequest(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
/**
* Retrieve from the database objects of type SvcClass refered by a given object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillObjSvcClass(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
/**
* Retrieve from the database objects of type IClient refered by a given object.
* @param obj the original object
* @exception Exception throws an Exception in case of error
*/
virtual void fillObjIClient(castor::stager::StagePrepareToUpdateRequest* obj)
throw (castor::exception::Exception);
private:
/// SQL statement for request insertion
static const std::string s_insertStatementString;
/// SQL statement object for request insertion
castor::db::IDbStatement *m_insertStatement;
/// SQL statement for request bulk insertion
static const std::string s_bulkInsertStatementString;
/// SQL statement object for request bulk insertion
castor::db::IDbStatement *m_bulkInsertStatement;
/// SQL statement for request deletion
static const std::string s_deleteStatementString;
/// SQL statement object for request deletion
castor::db::IDbStatement *m_deleteStatement;
/// SQL statement for request selection
static const std::string s_selectStatementString;
/// SQL statement object for request selection
castor::db::IDbStatement *m_selectStatement;
/// SQL statement for request bulk selection
static const std::string s_bulkSelectStatementString;
/// SQL statement object for request bulk selection
castor::db::IDbStatement *m_bulkSelectStatement;
/// SQL statement for request update
static const std::string s_updateStatementString;
/// SQL statement object for request update
castor::db::IDbStatement *m_updateStatement;
/// SQL select statement for member subRequests
static const std::string s_selectSubRequestStatementString;
/// SQL select statement object for member subRequests
castor::db::IDbStatement *m_selectSubRequestStatement;
/// SQL delete statement for member subRequests
static const std::string s_deleteSubRequestStatementString;
/// SQL delete statement object for member subRequests
castor::db::IDbStatement *m_deleteSubRequestStatement;
/// SQL remote update statement for member subRequests
static const std::string s_remoteUpdateSubRequestStatementString;
/// SQL remote update statement object for member subRequests
castor::db::IDbStatement *m_remoteUpdateSubRequestStatement;
/// SQL checkExist statement for member svcClass
static const std::string s_checkSvcClassExistStatementString;
/// SQL checkExist statement object for member svcClass
castor::db::IDbStatement *m_checkSvcClassExistStatement;
/// SQL update statement for member svcClass
static const std::string s_updateSvcClassStatementString;
/// SQL update statement object for member svcClass
castor::db::IDbStatement *m_updateSvcClassStatement;
/// SQL update statement for member client
static const std::string s_updateIClientStatementString;
/// SQL update statement object for member client
castor::db::IDbStatement *m_updateIClientStatement;
}; // end of class DbStagePrepareToUpdateRequestCnv
} /* end of namespace cnv */
} /* end of namespace db */
} /* end of namespace castor */
This diff is collapsed.
/**** This file has been autogenerated by gencastor from Umbrello UML model ***/
/******************************************************************************
* castor/db/cnv/DbStageUpdateRequestCnv.hpp
*
* This file is part of the Castor project.
* See http://castor.web.cern.ch/castor
*
* Copyright (C) 2003 CERN
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* @author Castor Dev team, castor-dev@cern.ch
*****************************************************************************/
#pragma once
// Include Files
#include "castor/Constants.hpp"
#include "castor/IAddress.hpp"
#include "castor/db/cnv/DbBaseCnv.hpp"
#include "castor/exception/Exception.hpp"
#include <vector>
namespace castor {
// Forward declarations
class IObject;
class ICnvSvc;
// Forward declarations
namespace stager {
// Forward declarations
class StageUpdateRequest;
} /* end of namespace stager */
namespace db {
namespace cnv {
/**
* class DbStageUpdateRequestCnv
* A converter for storing/retrieving StageUpdateRequest into/from a generic
* database
*/
class DbStageUpdateRequestCnv : public DbBaseCnv {
public:
/**
* Constructor
*/
DbStageUpdateRequestCnv(castor::ICnvSvc* cnvSvc);
/**
* Destructor
*/
virtual ~DbStageUpdateRequestCnv() throw();
/**
* Gets the object type.
* That is the type of object this converter can convert
*/
static unsigned int ObjType();
/**
* Gets the object type.
* That is the type of object this converter can convert
*/
virtual unsigned int objType() const;
/**
* Creates foreign representation from a C++ Object.
* @param address where to store the representation of
* the object
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @param type if not OBJ_INVALID, the ids representing
* the links to objects of this type will not set to 0
* as is the default.
* @exception Exception throws an Exception in case of error
*/
virtual void createRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction,
unsigned int type = castor::OBJ_INVALID)
throw (castor::exception::Exception);
/**
* Creates foreign representation from a set of C++ Objects.
* @param address where to store the representation of
* the objects
* @param objects the list of objects to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @param type if not OBJ_INVALID, the ids representing
* the links to objects of this type will not set to 0
* as is the default.
* @exception Exception throws an Exception in case of error
*/
virtual void bulkCreateRep(castor::IAddress* address,
std::vector<castor::IObject*> &objects,
bool endTransaction,
unsigned int type = castor::OBJ_INVALID)
throw (castor::exception::Exception);
/**
* Updates foreign representation from a C++ Object.
* @param address where the representation of
* the object is stored
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @exception Exception throws an Exception in case of error
*/
virtual void updateRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Deletes foreign representation of a C++ Object.
* @param address where the representation of
* the object is stored
* @param object the object to deal with
* @param endTransaction whether the changes to the database
* should be commited or not
* @exception Exception throws an Exception in case of error
*/
virtual void deleteRep(castor::IAddress* address,
castor::IObject* object,
bool endTransaction)
throw (castor::exception::Exception);
/**
* Creates C++ object from foreign representation
* @param address the place where to find the foreign
* representation
* @return the C++ object created from its reprensentation
* or 0 if unsuccessful. Note that the caller is responsible
* for the deallocation of the newly created object