
Revision 1501
-------------------
 : 2020-07-20
 : 

- CHG: fimngd  internal cache   fd  On/Off ׸  (#33112)
       - EXTRACT_FD_COUNT   fd count    on/off ó
       - CHotContentInfoMap() Լ ߸    


Revision 1382
-------------------
 : 2016-5-31
 : 

- CHG :  Ʈ    ߰
	-       Ϻ   ߻ 츦 ϱ  ߰


Revision 1342
-------------------
 : 2016-4-5
 : 

- BUG : ũƮ  μ CPU  
	-      sleep   CPU  


Revision 1340
-------------------
 : 2016-4-4
 : 

- BUG : ޼ť    
	- thread safe    

- BUG :  ޼ť ŭ  
	- ý Ѱ 500 130 
	- ý Ѱ ŭ   ֵ (μ Ѱ 5000)

- BUG :      ޼ť   
	-  Ŭ clear ʴ ü  

- CHG : Hot Content ó  
	- SystemV message queue pop ӵ Hot Content ó ӵ ʾ ߻ϴ
	޸𸮴   

- BUG :    μ ޸  
	-       clear    ޸𸮴 ߻

- BUG : Ʈũ   ߻
	-  Ÿ  üũ   ߻  ̴ 

- BUG :     ߻ 
	-  Ÿ  üũ   ߻  ̴ 


Revision 1331
-------------------
 : 2016-1-21
 : 

- CHG :    ڽ ¸ OUT 
        -  (HTTPD)       ¸  ϱ 
	̸ ϱ ؼ ߰
	-  (kill -9 or -KILL) ؼ    
	-    Ŵ ȭ

- CHG : ʿ ÷  
        - delete_yn ÷  

- CHG : α 
        - Ȯ ʴ α׿ ؼ 
		

Revision 1328
-------------------
 : 2016-1-19
 : 

- CHG : ٸ 񽺿   丮     
        -  ڷ  ϴ key ߺ ߻ 


Revision 1257
-------------------
 : 2015-10-06
 : 

- MOD : α  
        - α׿ ֿ ԵǾ ־  ó
        - α׿ ҽ ġ  Ͽ α׿뷮 
        - Account  α 


Revision 1254, 1255
-------------------
 : 2015-10-05
 : 

- BUG: RCDB     ó 
        - Account, Anony  Ž ó  
        - AccountUpdateThread.cpp, AnonyUpdateThread.cpp ҽ Ϻ ó
- ADD:     񽺿  α ó ߰
        - Accout  Žÿ  񽺿  α ߰

Revision 1217
-------------------
 : 2015-09-09
 : 

- CHG: Version 3.5 
        - fimngd  Ʒ  ũ ʿ   Ѵ.
		-  openda-listener shared memory ñ 
		- rcts rc_mond  Ͽ ŸFHS   sared memory óѴ.
		- rcts rc_sscd  Ʈ  丮  ͸  Ѵ.
		- account,    RCDBκ  shared memory Ʈ Ѵ.
		-  fimngd  internal cache  ״ Ѵ.
		-  fimngd  log   logmngd ü ϵ Ѵ.
		- ** fdcnt.sh  Ǿ Ѵ.

Revision 1118
-------------------
 : 2014-11-11
 : 

- CHG: RCDB  ʿø  ϵ ó
        -    RCDB ȸ   ʿø connect ó

- CHG: log Ÿ 
        - "Caceh Replication Request Queue" --> "Internal Cache Request Queue"  

Revision 1068
-------------------
 : 2014-08-27
 : 

- BUG: rcdb ӽ password  
	- password  ߰


Revision 1014
-------------------
 : 2014-07-24
 : 

- DEL: ׽Ʈ ҽ 
	-    ׽Ʈ ҽ 

Revision 1011
-------------------
 : 2014-07-23
 : 

- CHG: revision 

Revision 1009
-------------------
 : 2014-07-23
 : 

- CHG:  ֱ  α ޼ 
	- ServicePathCreaterThread.cpp  α ޼ 
        -  ֱ⸦ 3min  

Revision 1007
-------------------
 : 2014-07-22
 : 

- DEL: UDP   Internal Cache 
	- MsgCacheRequest.h MsgCacheRequest.cpp 

- DEL: Transfer Log   
	- ServiceInfoUpdaterThread.h ServiceInfoUpdaterThread.cpp 
	- TransferLogSender.h - TransferLogSender.cpp 
	- ش ɰ  config  ׸ 

- ADD:     丮   ߰
	- ServicePathCreaterThread.h ServicePathCreaterThread.cpp ߰

- CHG: TCP/IP   Internal Cache ߰
	- ./coponent/BaseSocket.h ./coponent/BaseSocket.cpp ߰
	- CacheGeneratorTrhead Ŭ 
	- rc_rmcd Ͽ  host,port  ߰

- CHG: ġ α ߰   α   
	-  ġ α ۾ Ϸ    
	- ۾ ֱ    α  ó
	- ġ α ֱ  αϿ   ó
	- LogFileCleaner, ApacheLogSender Ŭ 

- CHG:  濡    
    - Makefile    3.3.0.x -> 3.4.0.x  
	
Revision 0963
-------------------
 : 2014-03-10
 : 

- DEL: Internal Cache    Disk Busy Ȳ  ʱ ʿ  ñ  ó 
	- geom, devstat ̺귯 
	- DiskIOstatCollector.h DiskIOstatCollector.cpp  
	- work.cpp, HotContentDetectorThread.cpp  ProcessStatus class κ 

- CHG: FreeBSD 10.X ϱ ؼ Ϸ optimizer ɼ 
	- Makefile 󿡼 -o option  3 0(zero)  ó

Revision 0839
-------------------
 : 2012-11-15
 : 

- BUG: ޸   ȭ
	- FHS ϰ ߻  fstat   ȮεǾ, ̷ ؼ ޸  Ȯε
	-  ʿ    fstat  ȭ

- BUG: ġ α     
	-  ð 뿡   sleep ð ϴ     

- CHG: α ü   üũ  ߰
	- Ϻ α    ش κ üũϱ ؼ ߰

- CHG: α   warning 
	-  α ü   ߻ warning 

- CHG: ε ĳƮ ּ ȹ 
	- ּ ȹ  NULL ϵǴ  (   close ȣ ʾƼ ߻)
	- ּ ȹ п   ߴ κ 

- CHG: unlink() Լ   ó κ 
	- unlink() Լ   -1 ϶ ش  µǵ 

- CHG: Hot Content  Ʈ   
	- FD_COUNT : 3 -> 10
	- MIN_DISKIO_PERCENT : 50 -> 5

- CHG: ý ť Pop  
	- ý ť   ٷ ٿε ť ϴ  

- NEW: ֿ ť    ߰
	- ٿε ť, ĳ û ť, α  ť  2ʸ 

- DEL: ھ ñ׳ ó  
	-  1 ñ׳ å   


Revision 0755
-------------------

 : 2012-05-03
 : 

- BUG: GTL   ޽ tran_id  
       - TransferLogData.cpp  SetTranId() 

Revision 0731
-------------------

 : 2012-04-05
 : 

- CHG: src/main.cpp  Daemon   ڵ 
       - MakeDaemon() Լ Daemon   stdin, stdout, stderr Close ó ڵ ߰ (  ⵿ CTRL+C ó   )

Revision 0704
-------------------

 : 2012-03-06
 : 

CHG: transfer_log_send_yn  Ȯ ֱ  6sec=>300sec  
        - żӼ ϴ  ƴϹǷ RCDB ϸ ̱  ġ.
CHG: ServiceInfoUpdaterThread Ŭ  RCDB   
        -  Ŭ RCDB  ϰ    ֵ  ó
        - ServiceInfoUpdaterThread.cpp, ServiceInfoUpdaterThread.h 

Revision 0677
-------------------

 : 2012-02-09
 : 

BUG: fimngd main.cpp  logä  Ķ  log path  ڰ ϵڵǾִ  Ȯ . 
     - main.cpp  ҽ 
     ߰ :  ޼ ߰
     - ProcessStatus.cpp   ޼ 

Revision 0643
-------------------

 : 2011-12-29
 : 

ADD: ű fimngd ҽ Ѵ. Ʒ  ϰ ִ.
    fimngd : Hot Content   ó  
    rctl : opendav  ܺ û gtl ǽð ϴ  
    log_rotator : httpd  access α׿ error α׸ α׹  ϴ . 
         ° ƴ /etc/crontab  ϵǾ . 
    FHS   Application  α   űԷ  Ѵ. 


Revision 0641
-------------------

 : 2011-12-29
 : 

DEL: ű fimngd ϱ  ۾  fimngd ҽ  ó .

Revision 0556
-------------------

 : 2011-05-30
 : 

CHG: fimngd.conf [COMMON]  LOG_LEVEL  ϴ  
     [fimngd]  LOG_LEVEL   쿡 [COMMON] 
     LOG_LEVEL ϵ .


Revision 478

BUG : ޸  
      Ʒ ڵ  root->firstChild->path = (char*) malloc( pathSize + 1 );  ޸  ߻.
      root->firstChild->path != NULL   root->firstChild->path ޸𸮸 ϵ .

  :
OpenFileTreeNode*
COpenFileTree::GetHotContentTree( std::string path, unsigned int count )
{
.
.
    /// Ʈ  child 1̶   /user2/dav_storage Ƽǿ ִٴ ̴.
    ///   root->firstChild->path /user2/dav_stroage 丮 
    ///   丮 ̸  Ǵµ ̷ Ǹ 
    /// /user2/dav_stroage   丮  ˻    ȴ.
    /// ׷,   root->firstChild->path = root->path  
    /// /user2/dav_stroage   丮  ˻ ϵ Ѵ.
    if( GetChildCount( root ) == 1 )
    {   
        if( root->path != NULL )
        {
            int pathSize = strlen( root->path );
            root->firstChild->path = (char*) malloc( pathSize + 1 );  --> ޸  ߻
            memset( root->firstChild->path, 0, pathSize + 1 );
            strncpy( root->firstChild->path, root->path, pathSize );
        }
    }

    return root;
}

  :
OpenFileTreeNode*
COpenFileTree::GetHotContentTree( std::string path, unsigned int count )
{
.
.
    /// Ʈ  child 1̶   /user2/dav_storage Ƽǿ ִٴ ̴.
    ///   root->firstChild->path /user2/dav_stroage 丮 
    ///   丮 ̸  Ǵµ ̷ Ǹ 
    /// /user2/dav_stroage   丮  ˻    ȴ.
    /// ׷,   root->firstChild->path = root->path  
    /// /user2/dav_stroage   丮  ˻ ϵ Ѵ.
    if( GetChildCount( root ) == 1 )
    {   
        if( root->firstChild == NULL )
        {   
            TRACE( LOG_DEBUG, "end" );
            return root;
        }

        if( root->path == NULL )
        {
            TRACE( LOG_DEBUG, "end" );
            return root;
        }

        if( root->firstChild->path != NULL )
        {
            free( root->firstChild->path );
            root->firstChild->path = NULL;
        }

        int pathSize = strlen( root->path );
        root->firstChild->path = (char*) malloc( pathSize + 1 );
        memset( root->firstChild->path, 0, pathSize + 1 );
        strncpy( root->firstChild->path, root->path, pathSize );
    }
    return root;
}


Revision 476

CHG : fstat  μ httpd ͸ cache û  ǰ ϰ 
      pid, fd, inode   īƮ  Ű ʵ . 
       ׽Ʈ μ httpd ܿ  ڷ Ư μ   ְ .
      
      :  ڵ
        - OpenFileTree.c
          AddToOpenFileTree(), IsAllowedProcessName(), AddLeafNode()
          typedef struct OPEN_FILE_TREE_NODE


BUG : ޸  
      fstat.c free_devs() Ʒ  

-------  ڵ ---------------------
free_devs()
{
    if( devs == NULL )
    {
        return;
    }

    DEVS* d = devs;;

    if( d != NULL )
    {
        free( d );
        devs = NULL;
    }
}

-------  ڵ ---------------------
free_devs()
{
    if( devs == NULL )
    {
        return;
    }

    DEVS* next;
    DEVS* d = devs;;

    while( d != NULL )
    {
        next = d->next;
        free( d );
        d = next;
    }

    devs = NULL;
}

Revision 0462
-----------------------------
 : 2010-12-28
 : 

Revision 461      462 ٽ Revision .

Revision 0461
-------------------

 : 2010-12-28
 : 

CHG: fhs.conf [fimngd] ǿ RCID ʵ ߰
     - rc_rmcd ĳ û RCID  ϱ  ߰ .

CHG: fhs.conf [fimngd] ǿ FD_COUNT ʵ ߰
     -  ҽ ڵ忡 fix Ǿ ִ   Ͽ  ϵ ϱ .
     - fhs.conf FD_COUNT   ҽ ڵ忡 ⺻  5  .

CHG: fstat.h fstat.c  FreeBSD 32bit, 64bit  ۾.
     - FreeBSD 64bit fstat.c  ϱ ؼ Makefile __FREEBSD_64__ define ؾ .

CHG: fstat.h ǵǾ ְ fstat.c Ǿ ִ Ʈ ڷᱸ fs_list  

ADD: C++ ڵ忡 OpenFileTreeNode ϱ   Ŭ COpenFileTree ߰

ADD: ŵ fs_list üϴ Ʈ ڷᱸ OpenFileTreeNode TreeForFstat.h ϰ 
     TreeForFstat.c  fstat.c ڷᱸ и Ŵ.

CHG: α ڵ 
     -  α ϴ  Ŭ ڿ Logger ü ͸ ڷ ޾ƾ ϰ
       .cpp Ͽ Ʒ  α ó  ũθ  ؾ .
       ) #define CLASS_NAME "CCacheRequestManager"
           #define DEBUG_LOG( format, ...) \
               if(m_pLogger != NULL ) \
                  m_pLogger->Write( LOG_DEBUG,"[%s::%s()] " format, CLASS_NAME,__func__, ##__VA_ARGS__ )

     -  α ڵ忡 ڿ Logger ü  ʾƵ ǰ .cpp Ͽ ũθ Ǵ Trace.h ߰ ؾ .
       ) #include "Trace.h"

     - α ڵ α  
       :  
         DEBUG_LOG("log string")          ---> [2010-12-23 16:00:48] [DBG] [Parent_Process::main()] log string
       : 
         TRACE( LOG_DEBUG, "log string")  ---> [2010-12-28 02:25:42] [DBG] log string [Parent_Process::main()]
         _TRACE( LOG_DEBUG, "log string") ---> [2010-12-28 02:25:42] [DBG] log string 

CHG:   ó  
     -   Ͽ εǴ ü st_config fimngd.h ϰ GetConfg.cpp C ڵ · 
          εϴ  Ϳ  иǾ .
     - C ڵ  g_envConfig main.cpp ؼ .
     -  Ŀ ̱ Ŭ CFhsConfig ߰   ϴ  .

ADD: α ϰ ϱ ؼ Logger  ̱ Ŭ Trace.h ߰
     - Trace.h ߰   g_Logger ϰ  Ŭ   m_pLogger ϰ ڿ  Logger* .

CHG: ĳ û ʿ     CCacheRequestManager ߴµ   CDataRequestMap Ŭ ̰ϰ
     CCacheRequestManager ϴ    CDataRequestInfo Ŭ ̰.

ADD: CDataRequestMap ߰.
     CCacheRequestManager  ϴ CDataRequestInfo   иϱ  ߰ Ŭ.	

ADD: ĳ û ޽ ڵ/ڵ  ϴ CMsgCacheRequest ߰

Revision 0458
-------------------
 : 2010-12-13
 : 

- BUG: array overflow  
        - CCacheRequestManager::SendRequest() Ʒ ڵ 
         //cm.hostname[HOSTNAME_LEN] = '\0';
         cm.hostname[ HOSTNAME_LEN - 1 ] = '\0';

- CHG: gcc 4.4.5   
       - Config.h Ʒ 
         //void SetDelimiter( string& key, string& value = CONFIG_DEFAULT_VALUE_DELIMITER )
         void SetDelimiter( string& key, string value = CONFIG_DEFAULT_VALUE_DELIMITER )
       - Logger.cpp #include <string.h> ߰ 

- CHG: fhs.conf  
       - fhs.conf INTERNAL_NIC_NAME [COMMON] ǰ [fimngd] ǿ ߺ ǰ ִµ
         [COMMON] ǿ ϵ .
       - [fimngd]  CACHE_CHECK_INTERVAL ʵ CACHE_CHECK_MAX_INTERVAL ϰ ̿  
         ҽ ڵ 

Revision 0327
-------------------
 : 2010-08-03
 : 

- DEL: lib Makefile 
        - CBasesocket.o 

Revision 0326
-------------------
 : 2010-08-03
 : 

- DEL: CBasesocket class 
        -  ʴ κ ԵǾ ־  .

Revision 0325
-------------------
 : 2010-08-03
 : 

- BUG:   Ӽ .
        -  private public .
          CCacheTargetFinder.h  m_nCachedContentCnt.
          
Revision 0324
-------------------
 : 2010-08-03
 : 

- ADD: ĳ   ֱ  
        -   ְ   , Ȳ  Ʒó Ѵ.
          :   2 ϶  ֱ  .
          :   10 ʰ 쿡 2sec ֱ  .
          :   2 ʰ 10 ̸϶ 15sec ֱ  .

Revision 0323
-------------------
 : 2010-08-02
 : 

- NEW: SVN ű 
       -  svn://211.38.137.33/work/trunk/fimngd  ϴ  Ϸ ҽ SVN  Ĺ .
       -      ׽Ʈ Ϸ   cma   ̴. ⺻  Ʒ .
         : fhs mount  file discription (5̻)  cache Type(is_cached = 'Y')    Ǵ
            ϴ  ϰ ִ.( cma )
         : file discription  5̻    Ȯְ  ݺ  ϴ  .
       -    FreeBSD 5.4, 6.2 󿡼 ׽ƮǾ ٸ OS   ó ڵ带 Ȯؾ .

- NEW: History   Changelog.txt  ߰
       -   ۾  α׸ Ȯϵ Changelog.txt  ߰

