Difference between revisions of "User:Tbharathchandra/DevLog2020"

From BRL-CAD
 
(34 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
==May 16==
 
==May 16==
 +
* Downloaded and installed Hiredis (v0.14.1) on my machine
 +
* hiredis.prf is created for auto-detection of hiredis
 +
 +
==May 17==
 +
* Exploring hiredis and redis
 +
 +
==May 18==
 +
* Created pcache.h which contains the core methods to connect and communicate with the server.
 +
 +
==May 19==
 +
* Written some functionality of the PCache class.
 +
* Testing and resolving different degenerate cases in PCache.
 +
 +
==May 20==
 +
* Added somemore functionality for PCache class.
 +
 +
==May 21==
 +
* Testing of PCache class and added required guards ENABLE_HIREDIS
 +
* Pushed the code into repo and results show a success.
 +
 +
==May 22==
 +
* Understanding the layout of preference dialog.
 +
 +
==May 23==
 +
* Created the required GUI, which takes the IP address and port number and connects to the Redis server.
 +
* Pushed the code to the repo and checks ran successfully.
 +
 +
==May 24-30==
 +
* Exploring Redis commands
 +
 +
==May 31==
 +
* Added authentication functionality to PCache class
 +
* Added required GUI in preferences to take password.
 +
 +
=Phase 1=
 +
 +
==June 1==
 +
* Added prepending functions
 +
* Added print function
 +
 +
==June 2==
 +
* Experimented with the referencing style of CGALCache and GeomCache.
 +
 +
==June 4==
 +
* PCSettings class is added
 +
* Added command-line option to decs
 +
 +
==June 5==
 +
* Integrated PCSettings with CLI and GUI version.
 +
 +
==June 6==
 +
* fixed build issue
 +
 +
==June 7==
 +
* Added FindHiredis.cmake and added to CMakeLists.txt
 +
* Fixed few typo errors.
 +
 +
==June 8==
 +
* Testing authentication
 +
 +
==June 9==
 +
* Testing command-line options
 +
 +
==June 10-12==
 +
* Learning about boost serialization library
 +
 +
==June 13==
 +
* worked on Serialization implementatio outside OpenSCAD
 +
 +
==June 14==
 +
* Created and placed connect and disconnect functionality in Main window and OpenSCAD.
 +
 +
==June 19==
 +
* Created SCADSerializations.h file to store all serialization definitions
 +
* created cache_entry structs in pcache.
 +
 +
==June 20==
 +
* Worked with boost serialization in non-intrusive and split mode.
 +
* checking it's compatibility in OpenSCAD env through small tests outside OpenSCAD.
 +
 +
==June 21==
 +
* Completed writing all serialization definitions
 +
 +
==June 22==
 +
* Completed Insert and get methods for CGAL and Geometry
 +
 +
==June 23==
 +
* Resolved error with header files
 +
* Added Guards around cache_enry serialization definitions
 +
* Made some modifications to the smartCacheInsert method and encountered a critical error.
 +
 +
==June 24==
 +
* Resolved problem related to serializing a pointer to derived class of boost serialization
 +
* Ran 1st test on the complete project, it is partially successful
 +
* Geometries are inserted perfectly into Redis but raised a segmentation fault which to be addressed.
 +
 +
==June 25==
 +
* Geometry cache is inserting into Redis by preview action
 +
* Segmentation fault of yesterday still prevails
 +
 +
==June 26==
 +
* Testing has done in the case of CGAl Cache, CGAL is successfully inserting into Redis while previewing and crashes in case of Render action.
 +
* Found the cause for segfault, in the process to resolve it
 +
 +
==June 27==
 +
* Resolved the segfault by starting the connection on render thread while rendering. no change in the case of the preview.
 +
 +
==June 28==
 +
* worked on crash due to lazy union
 +
* identified the reason behind the crash.
 +
 +
==June 29==
 +
* Analyzed the options for resolving the crash
 +
 +
==June 30==
 +
* After discussing with mentor, we decided to continue working on the reconstruction of object from redis and try to resolve the issue in parallel.
 +
 +
=Phase 2=
 +
 +
==July 4-8==
 +
* Resolved segmentation fault related to rendering on a different thread
 +
 +
==July 9-13==
 +
* Resolved the crash which is happening when previewing the second script
 +
 +
==July 14-16==
 +
* Resolved the repeating authentication bug
 +
 +
==July 17==
 +
* Adding a new test app to CTest of OpenSCAD
 +
 +
==July 18==
 +
* Completed the python test script and added it to tests/CMakList.txt
 +
* failed to run the test on local machine
 +
* test failed by running on travis and other tools most probably because of lack of hiredis lib
 +
 +
==July 19==
 +
* fixed the problem discussed yesterday, by changing the args in add_cmd_test in tests/cmakelists.txt and changing the export path in python script.
 +
* ran Travis along by starting Redis-server, macOS doesn't offer that service and no huge time difference is observed in the other two builds.
 +
* need to add hiredis dependency to Travis check to complete.
 +
 +
==July 20-26==
 +
* placed pcachepngtest_CSG into heavy config due to variety of reasons
 +
* discussed with teepee about things that can be done
 +
* started by adding clear Redis cache feature under the same design=>flush caches
 +
* Added a new option for openscad for logging debug messages into an external file
 +
* Added another test for persistent cache which tests the cache hit behavior
 +
 +
=Phase 3=
 +
 +
==Aug 2==
 +
* Added debug-output option to openscad
 +
 +
==Aug 3==
 +
* added testcase using debug-output option
 +
 +
==Aug 4==
 +
* Added a section in WIP wikibook about persistent cache
 +
 +
==Aug 5==
 +
* Designed local cache feature set
 +
 +
==Aug 6==
 +
* Completed writing insert, get, gethash and contains methods.
 +
* Resolved build issues on CI checks
 +
 +
==Aug 7==
 +
* Resolved issues with lcache and completed setting up it's working in GeometryEvaluator
 +
* Resolved the crash issue which is arising when trying to flush cache.
 +
 +
==Aug 8==
 +
* Resolved the crash which occurs when lazy-union is enabled.
 +
 +
==Aug 9==
 +
* Added local cache to cmd line options renamed --persistent-cache option as --option with args like --option=file for enabling local cache and --option=redis,127.0.0.1,6379,foobared for enabling redis cache.
 +
* encountered a seg fault
 +
 +
==Aug 10==
 +
* resolved the segfault crash.
 +
* updated WIP in progress page.
 +
 +
== Aug 13-18 ==
 +
* In search of eviction implementation
 +
 +
== Aug 19 ==
 +
* Facing build errors with Circle CI builds which are disabled because of some reason
 +
* Decided to upstream to remove the boosty dependency in platformutils
 +
 +
== Aug 20==
 +
* Updated tests/cmakelist.txt to include the changes made to --cache option and corrected few things dropped because merging

Latest revision as of 03:48, 20 August 2020

Coummunity Bonding Period[edit]

  • Setup the Development Log
  • Explore and analyze different key-value datastores.
  • Discuss with Mentors and finalize the perfect datastore.

May 16[edit]

  • Downloaded and installed Hiredis (v0.14.1) on my machine
  • hiredis.prf is created for auto-detection of hiredis

May 17[edit]

  • Exploring hiredis and redis

May 18[edit]

  • Created pcache.h which contains the core methods to connect and communicate with the server.

May 19[edit]

  • Written some functionality of the PCache class.
  • Testing and resolving different degenerate cases in PCache.

May 20[edit]

  • Added somemore functionality for PCache class.

May 21[edit]

  • Testing of PCache class and added required guards ENABLE_HIREDIS
  • Pushed the code into repo and results show a success.

May 22[edit]

  • Understanding the layout of preference dialog.

May 23[edit]

  • Created the required GUI, which takes the IP address and port number and connects to the Redis server.
  • Pushed the code to the repo and checks ran successfully.

May 24-30[edit]

  • Exploring Redis commands

May 31[edit]

  • Added authentication functionality to PCache class
  • Added required GUI in preferences to take password.

Phase 1[edit]

June 1[edit]

  • Added prepending functions
  • Added print function

June 2[edit]

  • Experimented with the referencing style of CGALCache and GeomCache.

June 4[edit]

  • PCSettings class is added
  • Added command-line option to decs

June 5[edit]

  • Integrated PCSettings with CLI and GUI version.

June 6[edit]

  • fixed build issue

June 7[edit]

  • Added FindHiredis.cmake and added to CMakeLists.txt
  • Fixed few typo errors.

June 8[edit]

  • Testing authentication

June 9[edit]

  • Testing command-line options

June 10-12[edit]

  • Learning about boost serialization library

June 13[edit]

  • worked on Serialization implementatio outside OpenSCAD

June 14[edit]

  • Created and placed connect and disconnect functionality in Main window and OpenSCAD.

June 19[edit]

  • Created SCADSerializations.h file to store all serialization definitions
  • created cache_entry structs in pcache.

June 20[edit]

  • Worked with boost serialization in non-intrusive and split mode.
  • checking it's compatibility in OpenSCAD env through small tests outside OpenSCAD.

June 21[edit]

  • Completed writing all serialization definitions

June 22[edit]

  • Completed Insert and get methods for CGAL and Geometry

June 23[edit]

  • Resolved error with header files
  • Added Guards around cache_enry serialization definitions
  • Made some modifications to the smartCacheInsert method and encountered a critical error.

June 24[edit]

  • Resolved problem related to serializing a pointer to derived class of boost serialization
  • Ran 1st test on the complete project, it is partially successful
  • Geometries are inserted perfectly into Redis but raised a segmentation fault which to be addressed.

June 25[edit]

  • Geometry cache is inserting into Redis by preview action
  • Segmentation fault of yesterday still prevails

June 26[edit]

  • Testing has done in the case of CGAl Cache, CGAL is successfully inserting into Redis while previewing and crashes in case of Render action.
  • Found the cause for segfault, in the process to resolve it

June 27[edit]

  • Resolved the segfault by starting the connection on render thread while rendering. no change in the case of the preview.

June 28[edit]

  • worked on crash due to lazy union
  • identified the reason behind the crash.

June 29[edit]

  • Analyzed the options for resolving the crash

June 30[edit]

  • After discussing with mentor, we decided to continue working on the reconstruction of object from redis and try to resolve the issue in parallel.

Phase 2[edit]

July 4-8[edit]

  • Resolved segmentation fault related to rendering on a different thread

July 9-13[edit]

  • Resolved the crash which is happening when previewing the second script

July 14-16[edit]

  • Resolved the repeating authentication bug

July 17[edit]

  • Adding a new test app to CTest of OpenSCAD

July 18[edit]

  • Completed the python test script and added it to tests/CMakList.txt
  • failed to run the test on local machine
  • test failed by running on travis and other tools most probably because of lack of hiredis lib

July 19[edit]

  • fixed the problem discussed yesterday, by changing the args in add_cmd_test in tests/cmakelists.txt and changing the export path in python script.
  • ran Travis along by starting Redis-server, macOS doesn't offer that service and no huge time difference is observed in the other two builds.
  • need to add hiredis dependency to Travis check to complete.

July 20-26[edit]

  • placed pcachepngtest_CSG into heavy config due to variety of reasons
  • discussed with teepee about things that can be done
  • started by adding clear Redis cache feature under the same design=>flush caches
  • Added a new option for openscad for logging debug messages into an external file
  • Added another test for persistent cache which tests the cache hit behavior

Phase 3[edit]

Aug 2[edit]

  • Added debug-output option to openscad

Aug 3[edit]

  • added testcase using debug-output option

Aug 4[edit]

  • Added a section in WIP wikibook about persistent cache

Aug 5[edit]

  • Designed local cache feature set

Aug 6[edit]

  • Completed writing insert, get, gethash and contains methods.
  • Resolved build issues on CI checks

Aug 7[edit]

  • Resolved issues with lcache and completed setting up it's working in GeometryEvaluator
  • Resolved the crash issue which is arising when trying to flush cache.

Aug 8[edit]

  • Resolved the crash which occurs when lazy-union is enabled.

Aug 9[edit]

  • Added local cache to cmd line options renamed --persistent-cache option as --option with args like --option=file for enabling local cache and --option=redis,127.0.0.1,6379,foobared for enabling redis cache.
  • encountered a seg fault

Aug 10[edit]

  • resolved the segfault crash.
  • updated WIP in progress page.

Aug 13-18[edit]

  • In search of eviction implementation

Aug 19[edit]

  • Facing build errors with Circle CI builds which are disabled because of some reason
  • Decided to upstream to remove the boosty dependency in platformutils

Aug 20[edit]

  • Updated tests/cmakelist.txt to include the changes made to --cache option and corrected few things dropped because merging